第一课:开启安卓开发之旅
1.1搭建环境:
环境:JDK+Android SDK
开发工具:Android Studio + Genymotion + ADT
1.2创建新工程
Activity :一个页面 Layout:页面的布局 Res:页面内的资源
1.3外表:TextView\Button
将Layout想成一间房子的外表,其内部的墙上贴了有一幅画、有开关按钮、还有其他的家具,那么这些房子内部的家具、物件就是控件,对应着TextView\Button等,我们可以控制移动开关、家具这些控件的位置,也可以按下开关使得灯泡关闭打开,这就是所谓的控制控件、与控件进行交互。
控件的交互首先要在layout文件中给相应控件设置id【android:id="@+id/button"】,其次在主程序【MainActivity】中的OnCreate中使用findViewById方法得到对应控件,然后为其设置监听器【.setOnClickListener】,在监听器中完成点击事件的逻辑代码。一旦控件被点击,则激活onClick事件,监听器中的逻辑代码被执行【如出现一个Toast】。
1.4排列组合方式:Linerlayout【线性布局】\Relativelayout【相对布局】:这两种排列方式涵盖了使用的90%、
2.1跳转
通过点击按钮实现页面的跳转:创建一个Intent,指名【context,目标activity】,在startActivity 中传入intent即可
eg:
Intent intent = new Intent(A.this,B.class);
startActivity(intent);
2.2签名、打包、发布【省略】
第二课:Activity你必须知道的那些事
1.1Activity间传递数据
A、如何传递数据?
答:如下1.3
B、可以传递哪些数据?
答:所有类型的数据,包括对象再内。
C、可以传递对象吗?
答:OK
D、Activity可以回传数据吗?
1.2实现类似“网易云音乐”的广告屏,即开机启动页面的定时跳转
通过Handler来实现,首先在“广告屏”的Activity中定义全局变量mHandler【Handler mHandler = new Handler()】,其次,在OnCreate中使用Handler的postDelayed(Runnable r,long delayMillis)开启一个新的鲜橙,在线程中的run()中书写逻辑代码,即通过定义Intent以及startActivity(intent)来实现页面的跳转,delayMillis为定时跳转的时间。
1.3传递数据的方式
传递方:在A中定义intent后,通过intent.putExtra方法来传递key-value形式的数据,该数据会随着intent传递到下一个activity,key要提前定义成为一个全局final变量、
接收方:B中代码:
Intent intent = getIntent();
if(intent != null)【防止程序崩溃】
{String X = intent.getStringExtra("key")}【定义新变量X来接收inten中传来的key对于的value】
1.4可以传递对象吗?
可以传递,但是对象要在定义的时候被序列化,代码如下:
public class UserInfo implements Serializable{...}
发送方:木啥特别的
接收方:UserInfo userInfo = (UserInfo)intent.getSerializableExtra("userInfo【key】");
ps:通常要将传递数据过程中所需要的key定义成为全局静态变量,使用快捷键Command+option+C赋予成为全局静态常量public static final String TITLE = "title"
1.5Activity的回传数据方式
在活动A中调用方法startActivityForResult(intent,requestCode)来打开激活活动B【传入请求码】
在活动B中可以通过setResul(resultCode,Intent)来定义返回结果码,传入事先定义的intent(intent.putExtra来返回需要返回的数据)【不定义的情况下,结果码默认为0】
ps:结果码和请求码都要定义为静态常量public static final int REQUEST_CODE = 999;
接着,在活动A中可以通过onActivityResult来接收使用结果码、请求码,接收intent中的Extra【intent.getStringExtra】
2.1Activity的生命周期
第三课:进入多姿多彩的控件世界
1.1比较最常用的控件 一
控件View的通用属性:宽高、颜色、边距、是否可见、内容居中、点击事件等
TextView 显示文本 CheckedTextView
EditText 编辑框 hint password lines singlines maxlines phoneNumber等
Button 点击按钮 .9图
比较最常用的控件二
ImageButton 图片按钮
ImageView
SeekBar 滑动条
RatingBar 评分条
Progressbar 进度条
比较最常用的控件 三
WebView:加载网页
ListView:显示列表
GridView:显示表格式列表
ScrollView:内容可滚动视图
SufaceView:非常重要的绘图容器
最后的最后,Android中的快捷键:Mac上的Option对应Windows上的Alt,Mac上的Command对应Windows上的Ctrl
Android Studio功能强大、界面酷炫、模拟器也迅速灵敏,写代码的流畅度玩爆eclipse几条街,对AS真是爱不释手。
谢谢“湖南-api1”的指导帮助,让我在HAXM被错误卸载虚拟机打不开的情况下解决了问题,也让我明白闭门造车不如众志成城,现在将解决方法贴在这里,希望可以惠及更多人。http://www.crifan.com/adt_android_sdk_manager_install_intel_hardware_accelerator_execution_manager_haxm/
不为繁华易匠心。