android学习笔记(1)--7.20
来源:互联网 发布:mallat算法 编辑:程序博客网 时间:2024/06/04 00:57
开始学android开发了,今天应该算是第二天,昨天同学聚餐,晚上就懒得写笔记了,今天补上。
工欲善其事必先利其器,先下个ADT+jdk,安完ADT,配好环境变量,打开SDK Manager.exe,第一步工具栏中tools->options中勾选force https... ,第二步找到你的hosts(我的路径C:\Windows\System32\drivers\etc)
添加
74.125.113.121 developer.android.com
203.208.46.146 dl.google.com
203.208.46.146 dl-ssl.google.com
然后通过SDK Manager.exe下载你所需的东西,android 2.3 android 4.2 这是我下的东东。
好久没看java了快2年了,不得不说有些忘了
昨天用的快捷键或一些小方法
alt+/ 提示
Ctrl+1 快速修复
ctrl+/ 注释
ctrl+shift+o 导包
Ctrl+Shift+P 转至匹配的括号
按住ctrl单击方法可以跳走
/**+回车 文档注释
ctrl+T 继承关系
ctrl+D 删除一行
<activity android:name="com.fs.firstproject.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> 有这个节点表示第一个启动的activity
android程序运行先访问AndroidManifest.xml文件 <uses-permission android:name="android.permission.CALL_PHONE"/> 添加打电话的权限
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" //wrap_content 按内容大小 match_parent 匹配父节点 fill_parent 填充父节点 android:layout_below="@id/phoneNumberEditText" android:text="@string/call" //ctrl+1 android:onClick="callNumber" // 添加click事件 /><EditText android:id="@+id/phoneNumberEditText" //@表示R文件 在R文件的id中加入phoneNumberEditText android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="phone" //只能输入手机号 android:layout_below="@id/title"/>
两种响应点击事件的方式
第一种:
android:onClick="callNumber" // 添加click事件
public void callNumber(View v) {EditText edittext= (EditText) findViewById(R.id.phoneNumberEditText);//通过id找view组件String number=edittext.getText().toString();Intent intent=new Intent();// 新建一个意图intent.setAction(Intent.ACTION_CALL); //做什么intent.setData(Uri.parse("tel:"+number));//传数据startActivity(intent);//开始意图}
(EditText) findViewById(R.id.phoneNumberEditText);//通过id找view组件findViewById是在当前设置的View中找对象 setContentView(R.layout.activity_main_ui);
所以如果你是在Fragment中写的控件那么
public static class PlaceholderFragment extends Fragment {public PlaceholderFragment() {}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View rootView = inflater.inflate(R.layout.fragment_main_ui,container, false);//把xml装载到程序中Button btn = (Button) rootView.findViewById(R.id.btn_Call);if (btn != null) {btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubIntent intent=new Intent();intent.setAction(Intent.ACTION_CALL);intent.setData(Uri.parse("tel:"+10086));startActivity(intent);}});}return rootView;}}}
if (savedInstanceState == null) {getSupportFragmentManager().beginTransaction().add(R.id.container, new PlaceholderFragment()).commit();}
一定要到对应的view中寻找。
在真机上调试,如果嫌装驱动麻烦安个豌豆荚自动装驱动, 就可以在手机上调试程序了。
两种sleep方式
SystemClock.sleep(1000); //不用捕获异常try {Thread.sleep(1000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}
使用线程和发短信
new Thread(new Runnable() {public void run() {SmsManager sms=SmsManager.getDefault(); //短信管理器SystemClock.sleep(1000);try {Thread.sleep(1000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}sms.sendTextMessage("10086", //收件人号码null, // 短信中心号码"内容", //内容 null, //发送成功,回调此广播,通知我们null); //对方接受成功,回调此广播,通知我们}}).start();;
C:\Users\Administrator\.android\debug.keystore 传说中的签名
p.s 老师的笔记
工程目录结构:
src: 存放java代码
gen: 存放自动生成文件的. R.java 存放res文件夹下对应资源的id
project.properties: 指定当前工程采用的开发工具包的版本
libs: 当前工程所依赖的jar包.
assets: 放置一些程序所需要的媒体文件.
bin: 工程的编译目录. 存放一些编译时产生的临时文件和当前工程的.apk文件.
res(resources): 资源文件.
drawable: 存放程序所用的图片.
layout: 存放android的布局文件.
menu: 存放android的OptionsMenu菜单的布局.
values (应用程序所需要的数据. 会在R文件中生成id)
strings.xml 存放android字符串.
dimens.xml 存放屏幕适配所用到的尺寸.
style.xml 存放android下显示的样式.
values-sw600dp 7寸平板所对应的值
values-sw720dp-land 10寸平板所对应的值
values-v11 指定3.0版本以上的手机显示的样式.
values-v14 指定4.0版本以上的手机显示的样式.
AndroidManifest.xml: android应用程序的入口文件. 声明了android里边的组件. 和相关配置信息.
proguard-project.txt: 加密当前程序所使用.
打包安装过程(Run as Android Application ) :
1. 生成apk文件.
1). 生成.dex文件.
2). 资源索引表的生成resources.arsc.
3). 准备未编译文件.
4). 清单文件AndroidMenifest.xml文件转换成二进制.
5). 使用debug.keystore对整个应用程序进行打包签名.
2. 加载apk文件到模拟器中.
把apk文件加载到/data/local/tmp/xxx.apk
3. 安装应用程序.
1). 把/data/local/tmp/xxx.apk文件, 剪切/data/app/包名-1.apk
2). 在/data/data/文件夹下以包名创建一个文件夹, 用于存储当前程序的数据.
3). 在packages.xml和packages.list文件中分别添加一条记录.
adb常用命令
- android学习笔记(1)--7.20
- Android学习笔记(1)
- Android学习笔记(1)
- Android学习笔记(1)
- Android学习笔记(1)
- Android学习笔记(1)
- Android学习笔记(1)
- android学习笔记(1)
- Android学习笔记(1)
- android学习笔记(1)
- android学习笔记(1)
- Android学习笔记(1)
- Android学习笔记(1)
- android学习笔记(1)
- 【Android学习笔记】Service学习(1)
- android学习笔记1
- Android学习笔记-1
- android学习笔记1
- Linux程序设计4.1----程序参数
- 网络蜘蛛抓去整个站点的内容
- Binary Tree Inorder Traversal
- Poj 2349 Arctic Network
- 从大到小输出3个数,指针+函数调用
- android学习笔记(1)--7.20
- lua语言,杨辉三角
- 新版本的tlplayer for android ,TigerLeapMC for windows发布了
- netbeans phpstorm 通过 xampp xdebug 开启单步调试
- simpleWebRTC(二)
- 乌方公布疑似击落客机导弹车
- Live555研究之一 源代码编译
- 一篇关于搜索引擎的文章
- 输入年月日,判断是该年的第几天,还可以进一步判断从1年开始的第几天