android一个程序叫什么名字,1第一个Android应用程序

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

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

一、新建安卓项目

(1)选择安卓项目

58aa39e2515b4237f3bffe7d575c5e20.png

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

zfyouxi-p-4556762.html

二、执行环境

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

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

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

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

77203f9bb56a495b0fa505fdd92c0b80.png

四、開始学习播放器功能

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

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

0c724ac41e911f4b2bb88532fa991ab8.png

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

import android.media.*;

import android.net.*;

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

private MediaPlayer mp;

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

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);

}

}

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

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

Log.d() 记录debug的消息

Log.w() 记录warning的消息

Log.e() 记录error的消息

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

private static final String Debug_tag="testLog";

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

zfyouxi-p-4556762.html

(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文件加入下面代码即可。

eb738feca7f633c6e3d830d8843081d8.png

712e1a6221588d6bb42003b8f620c2bb.png

五、获取位置代码

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

import android.location.*;

获取位置

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);

}

}

ad7e5dd7833108c2c26ac2897bdf5ffd.png

六、至此,简单的第一个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);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值