第一个程序从 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);
}
}

1第一个Android应用程序的更多相关文章

  1. 从零开始,运行一个android例子程序

    电脑上连个eclipse都没装,怎么玩android?一穷二白的你, 下面就跟随我,从零开始,一步一步操作,运行我们的第一个android应用程序.我一直相信,学习开发,只有在调试过程中学的是最快的. ...

  2. Android:日常学习笔记(2)——分析第一个Android应用程序

    Android:日常学习笔记(2)——分析第一个Android应用程序 Android项目结构 整体目录结构分析 说明: 除了APP目录外,其他目录都是自动生成的.APP目录的下的内容才是我们的工作重 ...

  3. ❤️【Android精进之路-03】创建第一个Android应用程序竟然如此简单❤️

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文会重点介绍如何创建第一个Android应用,以及如何使用Android Studio进行调试 干货满满,建议收藏,需要用到时常看看.小伙伴们如 ...

  4. 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字“Hello Android”,并将应用程序的名称更改为“FirstApp”。

    需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字"Hello Android",并将应用程序的名称更改为"Firs ...

  5. 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行

    需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行 实现步骤: 打开 Android Studio,创建一个 Andr ...

  6. 第一个android应用程序

    首先打开Eclipse和一个AVD.在Eclipse中选择File→New→Project→Android→Android Application Project 点击Next,按照下图所示填写 注: ...

  7. 创建第一个Android应用程序 HelloWorld

    按照博客的进程,今天应该进行程序编写啦,下面让我们开写一个简单的HelloWorld程序. 提示:这里对于如何使用Eclipse创建一个Android程序就不多讲啦,不会的同学可以去查阅相关文档. 程 ...

  8. 开始第一个Android应用程序

    Android应用程序建立在应用程序框架之上,所以Android编程就是面向应用程序框架API编程---与编写普通的Java SE没有太大区别,只是增加了一些API. 1.使用eclipse开发第一个 ...

  9. 第2章 开始入手 —— 01 创建第一个 Android 应用程序

    创建一个新的 Android 项目 操作步骤: (1) 选择 File | New | Android Application Project ,弹出 New Android Application ...

随机推荐

  1. Android 反编译(一,apktool+smail2java)

    一:解压缩(获取图片等资源) 对于apk中丰富的资源,假设我们在练习的时候须要引用某些apk中的资源文件时,最简单的办法使用解压缩工具对apk进行解压缩,然后在对应的文件夹下查找须要的资源文件. 二: ...

  2. 间隔DP基础 POJ2955——Brackets

    取血怒.first blood,第一区间DP,这样第一次没有以某种方式在不知不觉中下降~~~ 题目尽管是鸟语.但还是非常赤裸裸的告诉我们要求最大的括号匹配数.DP走起~ dp[i][j]表示区间[i, ...

  3. 数据结构:Binary and other trees(数据结构,算法及应用(C++叙事描述语言)文章8章)

    8.1 Trees -->root,children, parent, siblings, leaf; level, degree of element 的基本概念 8.2 Binary Tre ...

  4. JDK源码学习系列03----StringBuffer+StringBuilder

                         JDK源码学习系列03----StringBuffer+StringBuilder 由于前面学习了StringBuffer和StringBuilder的父类A ...

  5. 设置Windows 8.1屏幕自己主动旋转代码, Auto-rotate function code

    程序代码实现启用或禁用Windows 8.1 Tablet的自己主动旋转功能 方法一:使用SetDisplayAutoRotationPreferences函数功能 #include <Wind ...

  6. [渣译文] SignalR 2.0 系列:SignalR的高频实时通讯

    原文:[渣译文] SignalR 2.0 系列:SignalR的高频实时通讯 英文渣水平,大伙凑合着看吧…… 这是微软官方SignalR 2.0教程Getting Started with ASP.N ...

  7. flask+gevent+gunicorn+nginx 初试

    1.安装flask pip install flask 2.安装gevent pip install gevent 3.安装gunicorn pip install gunicorn 版本信息例如以下 ...

  8. H. 硬币的水问题II

    H. 硬币水题II Time Limit: 1000ms Case Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: ...

  9. android 视频通话开启呼叫等待后,来第三方的视频通话,接通后通话时间一直显示为0,过几秒之后视频通话自己主动挂断

    开启通话设置视频通话的"来电等待"; 步骤1:測试机和配合机A处于视频通话过程中; 步骤2:配合机B向測试机呼出视频电话; 步骤3:測试机接听配合机B的视频来电; 现象:视频通话过 ...

  10. 【SQL Server性能优化】SQL Server 2008该表压缩

    当数据库是比较大的,而当你想备份,我们可以启动数据库备份压缩.这项由于备份文件比较小的压缩,所以整个备份的更快的速度,同时还低了磁盘空间的消耗. 当然还有一方面.肯定会添加cpu的消耗.只是一般的se ...