第一个程序从 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函数里面。

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,会在调试的时候显示这个变量的全部信息。

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

五、获取位置代码

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

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

}

}

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

}

}

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

  1. 今天在网上找QQ头像,找到两个字,太强了,一个我老婆的名字,另一个.....用了肯定有人打我脸

  2. Android毕业设计——基于Android+Tomcat的网络视频探索系统设计与实现(毕业论文+程序源码)——网络视频探索系统

    基于Android+Tomcat的网络视频探索系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Android+Tomcat的网络视频探索系统设计与实现,文章末尾附有本毕业设计的论文和源 ...

  3. Android修改应用程序图标和名字

    Android修改应用程序图标和名字 对于一个APP应用程序来说,最鲜明的就是APP的图标和名字了. 修改应用图标 在res/drawable中保存一个jpg或者png的图片文件.(png支持透明度) ...

  4. Android中实现“程序前后台切换效果”和“返回正在运行的程序,而不是一个新Activity”...

    ANDROID 一.首先是返回正在运行的程序,而不是新的ACTIVITY. 多网上关于 通知栏的例子都是打开一个新的Activity,代码也很多. 根据那些代码如下     public void s ...

  5. 10-8 猫和狗 : 创建两个文件cats.txt和dogs.txt, 在第一个文件中至少存储三只猫的名字, 在第二个文件中至少存储三条狗的名字。 编写一个程序, 尝试读取这些文件, 并将其内容打印到

    10-8 猫和狗 : 创建两个文件cats.txt和dogs.txt, 在第一个文件中至少存储三只猫的名字, 在第二个文件中至少存储三条狗的名字. 编写一个程序, 尝试读取这些文件, 并将其内容打印到 ...

  6. ios静态库和代码同名_使用一个代码库开始制作NativeScript iOS和Android应用程序

    ios静态库和代码同名 Users can choose whatever operating system they prefer, but every operating system use d ...

  7. 给大家分享一个打卡的工具,是一个微信小程序,名字叫小打卡

    给大家分享一个打卡的工具,是一个微信小程序,名字叫小打卡.之前Ben和我讨论过,有没有这样一个方便的工具,能把每天工作学到的零碎知识点记录下来,或者是工作中突然来了一些稍纵即逝的灵感,如果不及时记下来 ...

  8. 0基础用android做一个excel表查询器(2):编写程序

    0基础用android做一个Excel表查询器(2):编写程序 编完页面下面就该开始写程序了,首先确定一下思路,很简单,将Excel表写入一个List(或数组)里,然后获取Plain Text中写入的 ...

  9. android 程序闪退 log,写了一个android小程序,测试的时候闪退,然鹅log并没有报错...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 layout是这样写的: xmlns:app="http://schemas.android.com/apk/res-auto" xm ...

最新文章

  1. 想学python有什么用-我们为什么要选择学习python?学习python有什么用?
  2. LeetCode Trips and Users(关联、分组,聚合)
  3. powershell实例第1讲:判断某个文件夹是否存在,存在则删除
  4. 基于FPGA的AFDX接口实现
  5. 扩展方法的定义及使用
  6. Rar Java Zip
  7. app aws_服务网格:Istio和AWS App Mesh
  8. DataFrame 排序
  9. Android Room 升级数据库-增加字段
  10. Delphi XE8 TStyleBook的使用
  11. ICE C++ Hello World
  12. “好好活着,别生气,余生很贵!”
  13. JS 正则表达式 数字和小数点 非负数 保留两位小数点
  14. networkx 判断两图是否同构 得到同构的节点映射
  15. 简单的个人介绍网页-主页面【附代码】
  16. jsp连接mysql购物车mvc_mvc购物车项目
  17. 智慧园区地图导航解决方案,如何实现园区内地图导航?
  18. 直接裁7000!任正非:我不要你觉得,我要我觉得
  19. python大气校正_sen2cor批量大气校正Sentinel2数据——python代码
  20. 面板显示技术:LCD与OLED

热门文章

  1. 美俄卫星相撞12000块碎片绕地球转
  2. 实战DeepFake(一)
  3. 【人物】奥斯卡·王尔德——2015年9月26日
  4. linux4k分辨率,标榜4K游戏的PS5能否征服4K分辨率?
  5. ios——苹果自带的MD5加密
  6. Python版本升级与包的维护
  7. 02-JVM垃圾回收
  8. @bogon改为@localhost
  9. 计算机网络(二十三):路由器工作原理
  10. Pandas解决excel数据脱敏和导入新sheet不覆盖原sheet