Android学习笔记

更新11.12:学习路线,基本布局,基础组件,Activity介绍,对话框介绍
教材:视频《千锋android视频》


第一部分
1.1学习路线图
1.2环境搭建
1.3目录结构
     src,编写Java代码;
     gen,资源文件标示符
     assets,原生资源文件,保存音频之类的。
     bin,编译生成的apk
     libs,第三方类库的jar包
     res,资源文件
     AndroidManifest.xml清单文件,包名,版本号,相关授权


第二部分
2.1线性布局
     加载文件setContentView。必须放在程序第一行,主要是用来加载XML布局。
     字体sp,控件尺寸dp,像素px(不常用);
     线性布局嵌套太深,不适合编程。
     layout_gravity:表示子元素位于父元素的垂直位置;
     gravity:表示空间内部的元素位于该控件的位置。
     weight:权重,比例。

2.2相对布局
     基本位置位于框体的左上角。
     alignParentTop: 最顶端;
     centerVertical: 父布局中间;
     below: 指定元素下面;
     toRightOf: 指定元素右边;

2.3布局属性
     任何一个布局都有宽高两个属性。
     background: 背景颜色;
     margin:按钮位于外框体的举例(外边距)。
     padding:按钮内文字位于按钮边框位置(内边距)。
     hint:默认内容。


第三部分
3.1Button
     所有组件先设成类的成员变量,private修饰;再在onCreate方法中和xml对应。
     view和其子类都有时间触发,一般不让view直接处理,而让子类处理。
     ImageButton里面的src属性,放置图片。
     longclick包含click。
     常用setOnClickListener。
     有多个按钮设置监听器,可以让activity实现onclicklistener类,再重写onclick方法。
     click方法也可以在xml中设置onclick属性,接方法名,然后在java文件中设置这个方法,参数是View view。

3.2TextView
     inputTyple:设置键盘类型
     hint:提示信息
     string.trim();  去掉空格
     editText.setError; 出现提示错误
     使用正则表达式去校验。
     eidtText.setOnKeyListener;设置键盘监听器

3.3.AutoCompleteText
     适配器充当一个转换的功能。是一个位于视图和数据之间的桥梁
     .setAdapter  设定适配器。一般用数组适配器。
     数组适配器是ArrayAdapter<String>
     adaper =  new ArrayAdapter<String>(  this , android.R.layout. simple_list_item_1 , objcet);
     可以定义一个数组xml在strings.xml下
     String[]  citys = getResources().getStringArray(R.array. citys); 来获取strings.xml里的字符串
     或者使用createFromResource直接从Strings.xml中获取并setDropDownViewResource(  resource)。

3.5Checkbox
     在xml设置一个onclick属性onClick =  "onCheckboxClicked"
     在java中给出onCheckboxClicked(View view)方法,
     CheckBox checkBox = (CheckBox)view;
      boolean  isCheck = checkBox.isChecked();
      switch (view.getId()) {
           case R.id. checkBox1: }
     通过判断isCheck来设置行为。

3.6Radio Buttons
          设置Radio Group,里面添加Radio Buttons,设置onClick属性,设置方法和CheckBox类似。
     Toggle Buttons / Swtich
          textoff,texton属性设置切换文本。
          设置onclick属性,然后重写方法,判断boolean类型true or false

3.7spinner
     设置内容,类似autoCompleteText。
     实现OnItemSelectedListener接口,重写onItemSelected这个类,通过spinner.getItemAtPosition(position)获取选中的值。

3.8DatePicker
     设置一个DatePicker.OnDateChangedListener,使用init方法调用
     init( year, monthOfYear, dayOfMonth ,  OnDateChangedListener)  在监听器里设置相应方法。
     Calendar  calendar = Calendar. getInstance();    获得系统日期。
     year = calendar.get(Calendar. YEAR);
     monthOfYear = calendar.get(Calendar. MONTH);
     dayOfMonth = calendar.get(calendar. DAY_OF_MONTH );
     在监听器这里得到的月份需要+1。

3.9TimerPicker
     没有init方法,直接使用 setOnTimeChangedListener 设置监听内容
     还有AnalogClock和TextClock只能显示,不能设置。

3.10评分控件(未完)
     progress bar
          style属性设置样式。
          bar.setMax( )设置最大值。


第四部分
4.1Activity介绍
     OnCreate中,setContentView()设置布局。
     OnPause中,设置需要保存。
     新建的Activity需要在清单文件中注册。

4.2Acticity值传递
     使用intent filter来设置Activity动作。
     使用startActivity()来启动一个窗体。
     第一种:
          Intent intent = new Intent(MainActivity.this,NextActivity.class);
          startActivity(intent);可实现
     第二种:
          Intent intent = new Intent();
          intent.setClass(MainActivity.this,NextActivity.class);
     第三种
          Intent intent = new Intent("action");
          action要在跳转的Activity在mannifest.xml中定义action标签。再加上一个默认类别
     第四种
          intent.setAction("action");
     值传递,最大的可以传递一个List集合,类似键值对,通过intent.putExtra("name","value");
     或者传入一个bundle,给bundle.putString或其他键值对绑定到一起。
     在接受值得Activity中
     Intent intent = getIntent();
     intent.getIntExtra("name");
     或者bundle = intent.getIntExtra("bundle");   intent.getString();
     输出,使用先设置TAG,然后Log.i(TAG,value);

4.3Activity回传值
     使用startActivityForResult(intent,requestCode);
     在传值的的Activity中设置意图的setResult(  resultCodedata)方法,调用finish();
     重写方法  onActivityResult(  int requestCode,  int resultCode, Intent data)
     通过对requestCode和resultCode进行判断,可以获取data的值。

4.4Activity生命周期
     最开始:create—start—resume;
     后台运行:pause—stop;
     重新开始:restart—start—resume;
     终止:pause—start—destroy;
     在create方法中完成数据初始化和控件绑定。

4.5状态保护
     在onSaveInstanceState中保存里面的bundle
     在Activity销毁后,可以在onRestoreInstance或onCreate中获得。


 第五部分
5.1AlertDialog
     不直接使用Dialog类,使用它的子类的内部类AlertDialog.Builder。
      private AlertDialog.Builder  builder;
     builder =  new AlertDialog.Builder(  this);
     builder.setTitle( "请选择" );
     builder.setMessage( "你确定要删除吗" );
     builder.setPositiveButton(  textlistener) 设置按钮事件,确定取消类似。
     使用builder .show();让对话框显示。
     单选框使用builder.setSingleChoiceItems(  itemscheckedItemlistener)
     多选框builder.setMultiChoiceItems(  itemscheckedItemslistener)
     具体内容看API

5.2自定义对话框
     View view = LayoutInflater. from(MainActivity.  this).inflate(R.layout.  dialog ,  null );
     builder.setView(view);
     view中的控件,使用view.findViewById()来获得。
     通过这样的方式来设置。

5.3日期时间对话框
     private TimePickerDialog dialog2;
     dialog = new DatePickerDialog(this, new OnDateSetListener() {
               @Override
               public void onDateSet(DatePicker view, int year, int monthOfYear,
                         int dayOfMonth) {
                    // TODO Auto-generated method stub
               }
          }, year, monthOfYear, dayOfMonth);
     时间和日期类似。

5.4toasts
     toast.maketext(MainActivity.this,text,duration).show();
     length_short = 0; length_long = 1;
     setGravity设置位置。
     自定义toasts可以通过:
     new 新的实例new Toast(MainActivity.this),set属性修改,setView加载。
     view类似上面自定义对话框

5.5进度条对话框
      dialog =  new ProgressDialog(  this );
     可以设置setMax,setProgress。
     setCancelable(false);设置可否取消 false不可取消
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目:使用AngularJs编写的简单 益智游戏(附源代码)  这是一个简单的 javascript 项目。这是一个拼图游戏,也包含一个填字游戏。这个游戏玩起来很棒。有两个不同的版本可以玩这个游戏。你也可以玩填字游戏。 关于游戏 这款游戏的玩法很简单。如上所述,它包含拼图和填字游戏。您可以通过移动图像来玩滑动拼图。您还可以选择要在滑动面板中拥有的列数和网格数。 另一个是填字游戏。在这里你只需要找到浏览器左侧提到的那些单词。 要运行此游戏,您需要在系统上安装浏览器。下载并在代码编辑器中打开此项目。然后有一个 index.html 文件可供您修改。在命令提示符中运行该文件,或者您可以直接运行索引文件。使用 Google Chrome 或 FireFox 可获得更好的用户体验。此外,这是一款多人游戏,双方玩家都是人类。 这个游戏包含很多 JavaScript 验证。这个游戏很有趣,如果你能用一点 CSS 修改它,那就更好了。 总的来说,这个项目使用了很多 javascript 和 javascript 库。如果你可以添加一些具有不同颜色选项的级别,那么你一定可以利用其库来提高你的 javascript 技能。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值