• 1第一个Android应用程序


    第一个程序从 Hello World 開始?? 


    或许C语言学习是从这開始的,可是书上不是这么開始的,或许起点就决定了高度??


    一、新建安卓项目


    (1)选择安卓项目



    (2)随便建个名字的项目,默认下一步



    二、执行环境

    (1)新建虚拟设备,在电脑上执行这个虚拟的安卓模拟器。


    (2)在自己的手机上执行,手机用数据线连接电脑,调为开发人员模式,然后执行的时候就会检測到手机,然后选择用手机执行。


    我选择把自己的小米3作为了开发的測试手机,由于电脑的安卓模拟器调试应该会非常卡。


    三、执行出来事实上就是个hello world..




    四、開始学习播放器功能


    能不能唱个来自网上的小曲??


    能够,仅仅须要改动MainActivity.java文件就能够了



    (1)导入两个头文件,分别表示安卓媒体和网络的头文件

    import android.media.*;
    import android.net.*;

    (2)定义一个媒体播放的变量

    private MediaPlayer mp;

    (3)写入播放的函数 playMusicFromWeb(),这个函数的调用是在onCreate函数里面。

    <span style="white-space:pre">	</span>public void playMusicFromWeb(){
    		try {
    			Uri file = Uri.parse("http://img3.epanshi.com/2967/upload/1.mp3");
    			mp = MediaPlayer.create(this, file);
    			mp.start();
    		} catch (Exception e) {
    			Log.e(Debug_tag, "Player failed", e);
    		}
    	}

    这个链接是《客官不能够》音乐,不要惊呆哦:http://img3.epanshi.com/2967/upload/1.mp3


    确定你写的程序正确?还须要加入调试信息。

    Log.i() 记录信息类的消息

    Log.d() 记录debug的消息

    Log.w() 记录warning的消息

    Log.e() 记录error的消息

    而这里的调试定义了一个叫Debug_tag的变量,调试的

    private static final String Debug_tag="testLog";

    名字叫做testLog,会在调试的时候显示这个变量的全部信息。



    (4)为了安全,在onStop()函数里面定义停止以及释放播放器资源的方法

    假设发现没有onStop()函数,一定是姿势不正确,在.java代码里面的类名上右击鼠标,选择Source 再选择 "Override/Implement Methods” 菜单项,然后勾选onStop()方法。

    	protected void onStop() {
    		// TODO Auto-generated method stub
    		if(mp!=null){
    			mp.stop();
    			mp.release();
    		}
    		super.onStop();
    	}


    播放不出来的错误:

    缺少了赋予程序联网权限,打开AndroidMainfest.xml文件加入下面代码即可。

    <uses-permission android:name="android.permission.INTERNET"></uses-permission>



    五、获取位置代码

    就不多提了,还是要注意赋予获取位置权限

    import android.location.*;

    获取位置

    <span style="white-space:pre">	</span>public void getLocation(){
    		try{
    			LocationManager locMgr=(LocationManager)getSystemService(LOCATION_SERVICE);
    			Location recentLoc=locMgr.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    			Log.i(Debug_tag, "loc:"+recentLoc.toString());
    		}catch(Exception e){
    			Log.e(Debug_tag,"get location failed!",e);
    		}
    	}







    六、至此,简单的第一个APP就出来了,好像有点简陋。

    附:完整.java代码


    package com.example.test;
    
    import android.support.v7.app.ActionBarActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.Menu;
    import android.view.MenuItem;
    
    import android.media.*;
    import android.net.*;
    
    import android.location.*;
    
    public class MainActivity extends ActionBarActivity {
    
    	private MediaPlayer mp;
    	private static final String Debug_tag="testLog";
    	
    	//播放网上的音乐
    	public void playMusicFromWeb(){
    		try {
    			Uri file = Uri.parse("http://img3.epanshi.com/2967/upload/1.mp3");
    			mp = MediaPlayer.create(this, file);
    			mp.start();
    		} catch (Exception e) {
    			Log.e(Debug_tag, "Player failed", e);
    		}
    	}
    	
    	//获取位置
    	public void getLocation(){
    		try{
    			LocationManager locMgr=(LocationManager)getSystemService(LOCATION_SERVICE);
    			Location recentLoc=locMgr.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    			Log.i(Debug_tag, "loc:"+recentLoc.toString());
    		}catch(Exception e){
    			Log.e(Debug_tag,"get location failed!",e);
    		}
    	}
    		
    	
    	@Override
    	protected void onStop() {
    		// TODO Auto-generated method stub
    		if(mp!=null){
    			mp.stop();
    			mp.release();
    		}
    		super.onStop();
    	}
    
    	
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            
            //開始记录bug信息
            Log.i(Debug_tag, "MydeugLog");
            //播放音乐
            playMusicFromWeb();
            //获取位置
            getLocation();
            
            
        }
    
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle action bar item clicks here. The action bar will
            // automatically handle clicks on the Home/Up button, so long
            // as you specify a parent activity in AndroidManifest.xml.
            int id = item.getItemId();
            if (id == R.id.action_settings) {
                return true;
            }
            return super.onOptionsItemSelected(item);
        }
    }
    



  • 相关阅读:
    栈和队列_leetcode23
    Android 广播
    Android Service
    Logcat monkey命令
    设计模式-观察者模式
    Android之Fragment优点
    Android架构: MVC 新浪微博
    Android消息处理机制(Handler、Looper、MessageQueue与Message)
    Android Annotations Eclipse 配置 (3)
    Android Annotations(2)
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/4556762.html
Copyright © 2020-2023  润新知