GeekBand-第一周分享

来源:互联网 发布:怎么在淘宝上传照片 编辑:程序博客网 时间:2024/04/30 09:41

第一课:开启安卓开发之旅

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/

不为繁华易匠心。

0 0
原创粉丝点击