Java运行和编译环境
JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html
开发工具
Eclipse:http://www.eclipse.org/downloads/
插件
ADT:http://developer.android.com/tools/sdk/eclipse-adt.html
帮助文档
SDK DOCS:http://developer.android.com/reference/packages.html
32位操作系统
下载地址:http://dl.google.com/android/adt/adt-bundle-windows-x86.zip
64位操作系统
下载地址:http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20130729.zip
Eclipse + ADT 插件
Android SDK
Android Platform-tools
最新的Android 开发平台 platforms
最新的模拟器镜像
以上提供的地址可能已经有些过时,网友可以搜索最新版本;另外谷歌官方最新发布了Android Studio V1.0.0.1稳定版,有兴趣的同学可以去看看。
点击手机形状的图形(android virtual device manager) 创建一个新的android模拟器
打开eclipse –> File –> New –> Android Application project
add-ons——使用SDK Manager.exe时产生的临时目录,不用管
build-tools—Android编译工具集
docs————Android帮助文档
extras———–附加
platforms——-平台
platform-tools—平台工具,如:adb.exe
samples———-Android示例
sources———-只是api的源代码
system-images—–系统镜像
temp—————-临时目录,不用管
tools—————-辅助开发的工具,如:ddms.bat,emulator.exe 管理模拟器
1,force勾上(目的:将https协议转为http协议,网络访问速度加快)
2,修改C:\Windows\System32\drivers\etc\hosts文件加入下面代码
#Android-SDK下载
74.125.113.121 developer.android.com
203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com
adb.exe环境变量配置:加入到path中,D:\adt-bundle-windows-x86-20131019\sdk\platform-tools
adb devices 列出所有的设备
adb start-server 开启adb服务
adb kill-server 关闭adb服务
adb logcat 查看Log
adb shell 挂载到Linux的空间
adb install <应用程序(加扩展名)> 安装应用程序
adb –s <模拟器名称> install <应用程序(加扩展名)> 安装应用到指定模拟器
adb uninstall <程序包名>
adb connect 192.168.11.107 远程调试
adb pull < remote> < local>
adb push < local> < remote>
emulator –avd <模拟器名称>
ctrl + F11 横竖屏的切换
推送文件:adb push C:\Users\lijian\Desktop\student.xml /sdcard/student.xml
拉出文件:adb pull /sdcard/student.xml d:/student.xml
adb shell 挂载到linux空间
cd /data/data/net.dxs.mobilesafe进入到包目录
ls -l 列出目录下所有文件及文件夹详细信息
cd shared_prefs 进入到该目录
ls -l 列出该目录下所有文件
cat config.xml 查看该文件所存储的内容
#补充知识#
res/drawable 专门存放png、jpg等图标文件。在代码中使用getResources().getDrawable(resourceId)获取该目录下的资源。
res/layout 专门存放xml界面文件,xml界面文件和HTML文件一样,主要用于显示用户操作界面。
res/values 专门存放应用使用到的各种类型数据。不同类型的数据存放在不同的文件中,如下:
strings.xml 定义字符串和数值,在Activity中使用getResources().getString(resourceId) 或getResources().getText(resourceId)取得资源。它的作用和struts中的国际化资源文件一样。
<resources>
<string name="app_name">微信string>
resources>
arrays.xml 定义数组。
<resources>
<string-array name="colors">
<item>reditem>
<item>yellowitem>
<item>greenitem>
<item>blueitem>
string-array>
resources>
colors.xml 定义颜色和颜色字串数值,你可以在Activity中使用getResources().getDrawable(resourceId) 以及getResources().getColor(resourceId)取得这些资源。例子如下:
<resources>
<color name="color_ff0000">#ff0000color>
resources>
dimens.xml 定义尺寸数据,在Activity中使用getResources().getDimension(resourceId) 取得这些资源
<resources>
<dimen name="key_height">50dipdimen>
resources>
styles.xml 定义样式。
<resources>
<style name="style_app" parent="@style/Text">
<item name="android:textSize">18spitem>
<item name="android:textColor">#0066FFitem>
style>
resources>
res/anim/ 存放定义动画的XML文件。
res/xml/ 在Activity中使用getResources().getXML()读取该目录下的XML资源文件。
res/raw/ 该目录用于存放应用使用到的原始文件,如音效文件等。编译软件时,这些数据不会被编译,它们被直接加入到程序安装包里。 为了在程序中使用这些资源,你可以调用getResources().openRawResource(ID) , 参数ID形式:R.raw.somefilename。
编译 classes.dex 文件(见Android核心基础-2.Android架构简介)
编译 resources.arsc 文件
ADB (android debug bridge) 为开发人员提供便利
IDE Eclipse 把上面的过程全部都自动实现了
需要添加权限: android.permission.CALL_PHONE
效果图:
界面布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/inputmobile"/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/mobile"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button"
android:id="@+id/button"/>
LinearLayout>
调用系统打电话应用,并传递拨出去的号码:
Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:5554"));
startActivity(intent);
需要添加权限: android.permission.SEND_SMS
界面布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/inputmobile"/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/mobile"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/content"/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minLines="3"
android:id="@+id/content"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button"
android:id="@+id/button"/>
LinearLayout>
发送短信Java代码:
SmsManager smsManager = SmsManager.getDefault();
PendingIntent sentIntent = PendingIntent.getBroadcast(SMSSender.this, 0, new Intent(), 0);
//如果字数超过70,需拆分成多条短信发送
List<String> msgs = smsManager.divideMessage(content);
for(String msg : msgs){
//最后二个参数为短信已发送的广播意图,最后一个参数为短信对方已收到短信的广播意图
smsManager.sendTextMessage(mobile, null, msg, sentIntent, null);
}
Toast.makeText(this, "短信发送完成", Toast.LENGTH_LONG).show();