【1】第一个安卓程序

第一个程序从 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);
    }
}
时间: 2024-10-11 06:34:55

【1】第一个安卓程序的相关文章

【原创】开发第一个安卓程序(教程系列贴)

[面向人员]:立志于安卓开发的所有人员,做到真正的从零基础起步: [教程说明]:本教程在内容上保证原创.简洁.详细,在附件链接上保证可用.最新.完整: [回帖说明]:教程有不清晰的地方,请及时回帖互动,楼主会第一时间更新帖子,谨以此开源.分享.共进. 1.通过代理在线更新SDK 依次打开安卓001教程建立的开发文件夹,android/develope,找到并双击SDK Manager.exe可执行文件 稍等片刻,自动弹出Android SDK Manager Log窗口,窗口内未配置代理钱会显示

【Qt for Android】第一个安卓程序

1)首先需要去官网上下载 Qt for android 版本的 Qt SDK 2)下载 android 相关的 SDK,下载地址不用找了,在Qt Creator工具选项的Android配置中有相应的下载链接地址. 3)下载完安卓SDK后,在上面的配置界面中指定相应SDK的目录,然后在"Build & Run"中新增Android的Kits 4)编写Qt代码后,点击"Run"即可,在弹出的Android设备列表中,选择程序要安装运行的Android设备.(下图

AndroidStudio学习笔记-第一个安卓程序

要带一个本科生做一部分跟安卓有点关系的项目,于是趁着机会学习一下编写安卓程序. 第一篇材料来自谷歌官方,传送门:https://developer.android.com/training/basics/firstapp/index.html.由于官方例程写的很清楚了,基本上只要按着步骤就好了,所以不打算完全的复制粘贴,主要实践过程中我的一些理解和思考. 1. 创建新工程 一个安卓程序的层次结构为 Application -> many activities (可以理解为很多个界面) -> l

简单记录下安卓环境的搭建和第一个安卓程序的破解

来自<Android软件安全与逆向分析> 一.配置安卓环境 1.安装JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html DwonLoads->下载JDK 我下载的版本是  jdk-8u91-windows-x64.exe 一路安装好了之后,添加用户变量 JAVA_HOME 值为安装目录 I:\Android\jdk 并将I:\Android\jdk\bin添加到PATH中 CMD-> 输入ja

【1】Android 学习笔记 【第一个安卓程序】

一.java JDK  & 配置 java 系统变量 java JDK 这个请自行百度安装 配置 java 系统变量  1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值(jdk安装目录):C:\Program Files\Java\jdk1.7.0 变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 3. 选择“系统变量

我的第一个安卓程序

当天的笔记 重写(Override) 就是子类在应许父类访问对父类方法的重写.返回值行参都不能改变.即外壳不变,核心重写! 好处:子类可以根据自己的需要定制自己的行为: Animal b = new Dog();//可以调用到子类重写的方法 注意:在上面的例子中可以看到,尽管b属于Animal类型,但是它运行的是Dog类的move方法. 这是由于在编译阶段,只是检查参数的引用类型 当需要在子类中调用父类的被重写方法时,要使用super关键字 安卓学习流程图

用android studio创建第一个安卓程序加载html5 页面

前言 软件版本:android studio v1.0正式版,由于v0.x以来软件变化一直比较大,很多问题搜索的解决方案也都是v0.x版本时代的,故首先声明一下版本. 动机:由于工作中需要对移动端软件开发的几种方式进行一下对比研究,故有了此文章的产生,估计后续还会有其他技术方案的文章发布. 目标:为了适应跨平台的要求,所以用html5编写页面,利用webview装载html5页面就成为了一个备选的技术路线.本篇文章就是利用android studio创建一个apk程序,装载编写好的html5页面

第一个安卓程序代码

package cxa.com.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.Button; import android.widget.Toast; public class MainActivity e

第一个安卓程序,传递数据

1 public class MainActivity extends Activity { 2 private Button btn1=null; 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_main);//加载布局文件 7 btn1=(Button)findV