概述
android学习笔记
第一天
1.环境的构建
1.android官网下载继承好的开发环境 adt bunder eclipse
2.自己eclipse的构建
1.安装ADT android Devlelop Tools
2.安装android的SDK 各个android的版本
3. AVD android 虚拟设备
4.配置SDK_HOME 和path 将 tools 和platform-tools添加到path中
5.开启虚拟设备 cmd运行 adb shell (ls)测试是否配置成功
AVD(android virtual devices) ADB(android debug bridge)
2.android中的目录结构和含义
src 源代码
gen 自动生成的java file 有R类 对资源进行统一集中管理
bin 可执行的二进制代码
libs 库文件
res android中各个资源文件
AndroidManifest.xml android 核心配置文件
3.开始android helloworld
1.新建android application 一直下一步 默认配置即可
2.在layout中 手动添加一个按钮 button 配置 android:onclick:"test"
将test 方法写在MainActivity即 主界面视图中即可
public void test(View view){
//使用toast弹出窗口进行提示
Toast.MakeText(MainActivity.this,"hello ",Toast.LENGTH_SHORT);
}
3.使用findViewById(R.id.XXX);
4.android 的国际化
在res资源文件夹中添加中文支持
新建values-zh_rCN文件夹 结构如:values-zh_rcn/strings.xml
复制strings.xml到其中 保持string的key 即属性name的值不变 value相对应的进行国际化即可
5.理解android程序的运行
Androidmanifest.xml 负责总体的配置 相当于web中的web.xml
Activity 界面交互处理 相当于 javascript 负责layout中的组件的交互
layout android中的布局文件 相当于 html 负责页面和组件的呈现 样式等
R类 android中的资源管理类 自动生成的 管理android project中的各种资源的
相当于文件系统一样 可以管理如图片 string 视频 等等资源 Activity和layout中的交流中
提供各种资源的接口的类.
android 学习第二天 笔记
1.android开发中DDMS界面的熟悉和使用 特别是logcat filter 设备等使用
2.android的打包和反编译 采用dex2jar反编译为jar 通过jd-gui反编译为java文件
3.android中的事件监听
1.动态设置 在activity中采用 xx.setOnXXXListener(new XXXListener(){ @override method(){}});
2.onclick事件可以采用配置的方式 在 android布局文件对应的组件中配置 android:onClick="xxxx",在activity中书写这个方法即可
3.layout 布局文件中 RelativeLayout是个组件容器相当于div view相当于input button等组件
4.android中的事件类型 onClickListener onLongClickListener onKeyListener onTouchListener 等事件类型 均是来自原事件 (action_down action_move action_up)的组合
5.viewTYpe 是个组件的容器如layout 盛放view
6.@string/xxxx values中strings.xml配置的key 通过R类管理 android:id="@+id/textview1" @+id表示新建一个id
android学习笔记
注意几个类 Toast.makeText(); 弹出提示的窗口
R 资源管理类
Log 日志记录类 Log.i();log.d();等日志方法
ddms Dalivim Debug Monitor Sevices
adb Android Debug Bridge
熟悉常用的adb命令
adb kill-server
adb start-server
adb shell
adb device
android的 打包
bin目录下有debug的apk文件
使用android tools 打包 签名 填写相关信息 生成唯一的id 防止覆盖
android的反编译
解压
classes.dex文件 通过dex2jar 反编译为jar
再通过jd——gui 反编译为熟悉java文件
理解jvm和android的虚拟机的不同
jvm .java->.class->.jar 运行
Dalivim vm .java->.class->.dex 运行 将所有的.class文件合并为一个文件 便于移动设备上的执行和 减轻内存的消耗
android中主线程UI线程阻塞的问题和解决方案
1.采用创建新的线程 new Thread(new Runable({
override run
写和主线程UI设置无关的方法
通过post来解决 核心采用生产者和消费者的模型来解决的
view.post(new Runable({
处理主线程的设置
UI组件的设置 样式 布局等
}))
})).start();
2.android 动画 Animation
AlphaAnimation 渐变动画
ScaleAnimation 渐变尺寸缩放
RotateAnimation 画面旋转
TranslateAnimation 位置移动
AnimationSet 动画集
3.android sms 消息发送
setContentView(R.layout.activity_main);
EditText phoneString = (EditText) findViewById(R.id.editText1);
EditText msgContentStr = (EditText) findViewById(R.id.editText2);
String phone = phoneString.getText().toString();
String msgContent = msgContentStr.getText().toString();
if(TextUtils.isEmpty(phone) || phone.matches("^\d{5,11}$")){
Toast.makeText(this, "请输入正确的电话号码", Toast.LENGTH_LONG).show();
}else if(TextUtils.isEmpty(msgContent)){
Toast.makeText(this, "请输入要发送的消息", Toast.LENGTH_LONG).show();
}else{
//发送消息
//得到默认的消息管理的manager
SmsManager manager = SmsManager.getDefault();
//短信的长度有限制 所以才需要使用分割 divideMessage能按照消息的最大长度分割短信 并返回arrayList
ArrayList<String> msgList = manager.divideMessage(msgContent);
//调用系统api对消息进行发送
for(String msg:msgList){
manager.sendTextMessage(phone, null, msg, null,null);
}
}
4.ctrl+F11 切换横竖屏幕
5. 当EditText是多行文本时, 光标如何设置在从左上角
将andtoid:gravity="center"修改为
android:gravity="top"
6.android 布局
相对布局 线性布局 绝对布局 表格布局
android:orientation="vertical" 对其的方向
android:gravity="center" 内部排列对其的方向 gravity是对控件自身来说的,控件在他的父亲中的位置
android:layout_gravity是对控件的子控件而言的
7.android 的测试
8.拨打电话 加入权限 call
android 第三天学习笔记
1.下拉列表组件的使用
<Spinner>
String[] strs={"CEO","PM","PL"};
//创建一个数组适配器
ArrayAdapter aa=new ArrayAdapter(this,android.R.layout.simple_spinner_item,strs);
//设置下拉列表的适配器
position.setAdapter(aa);
2.评价组件的使用
<RatingBar>
android:numStars="5"
android:rating="3"
3.android的文件操作
不涉及android权限的问题 可以使用java.io来操作文件
设计到android文件的权限问题 需要使用android activity的api来对文件进行操作
使用 openFileInput() openFileOutput来对文件进行读写操作
-文件 d 标识目录
r 可读 w可写
context 提供 openFileOutput(path,Mode)
可以通过linux下的命令行来改变一个文件的读写执行的权限
chmod xxx /data/data/xxx
文件权限:chmod (change Mode) sudo chmod -R 666
sudo chmod 664 file
(7 4+2+1 rwx)
(6 4+2+0 rw_)
(5 4+0+1 r_x)
(4 4+0+0 r__)
(3 0+2+1 _wx)
(2 0+2+0 _w_)
(1 0+0+1 __r)
(0 0+0+0 ___)
//显示详情
ls -l
4.写入sd卡的权限和操作
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
File sdcard = Environment.getExternalStorageDirectory().getAbsoluteFile();
Environment 得到一些android中常用的目录 比如sf卡的状态 DCIM 目录 root文件夹 sf卡的入口等
写入手机内部存储的操作
Environment.getDataDirectory(); 可以写到data/data/包名/files目录下
<uses-permission android:name="android.permission.READ_OWNER_DATA" />
<uses-permission android:name="android.permission.WRITE_OWNER_DATA" />
这个目前知道好像只能写到自己所在的包下面,也就是只能在自己的包下面来创建文件,但是可以去改写已经存在的文件
没什么变态的需求的话可以放到这个路径或者创建一个其子目录下面
/data/data/<pkg name>/files
5.计算sd卡 rom上的空间的使用情况
StatFs stat = new StatFs(path.getPath());
采用 StatFs(Path) 来初始化一个文件空间统计对象
采用 statFs.getBlockSize 得到格式化盘的块大小
采用 getTotleBlockCount 得到总得块的数目
采用 getAvailableBlocks 得到可利用的块的数目
采用 Formatter.formatFileSize(Context,Long)来格式化显示磁盘的大小
5.android 学习笔记 第四天
android中的数据保存
1.文件的形式 采用java.io 或context.openFileInput 或采用SharedPreferences(使用context得到SharedPreferences)
本质是采用序列化xml的形式
/data/data/<package Name>/shared_prefs
2.使用sqlite 内嵌入的数据库 进行文件的读写操作
3.通过网络得到相应的资源<>
(未完 学习中 待续)
最后
以上就是腼腆柚子为你收集整理的Android的学习笔记 适合新手和想学习android的人看的全部内容,希望文章能够帮你解决Android的学习笔记 适合新手和想学习android的人看所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复