android-学习笔记01

2017-03-29  本文已影响0人  figure_ai

大部分笔记都是来自郭霖前辈的《第一行代码》。内容也是觉得有用就记,相对来说比较混乱。

  • 活动(Activity):类似于OC的Controller,主要用于处理用户的交互事件
  • 服务(Service):后台运行的服务,即使程序退出仍然可以在后台运行
  • 广播接受器(BroadcastReceiver):允许应用接收来着各处的消息,比如电话/短信等
  • 内容提供器(ContentProvider):为应用程序之间的数据共享提供了可能,比如读取系统电话薄中的联系人,就需要通过内容提供器来实现。
  • Drawable开头的文件都是用来放图片的
  • Values开头的文件夹是用来放字符串的
  • Menu文件夹是用来放菜单文件的
  • Layout文件夹是用来放布局文件的
  • Mipmap文件夹是放启动图标的
  • 1、在代码中通过R.string.hello_world可以获得字符串的引用(R.文件名.健名或方法)
  • 2、在XML中通过@string/hello_world可以获得字符串的引用(@文件名/健名)
    二 logCat的使用
  • android:id :给当前元素定义一个唯一标识符,之后可以在代码中对这个元素进行操作。
  • 注:XML文件中引用一个id,使用@id/id_name,定义一个id使用@+id/id_name
  1. activity通过setContetnView方法引用布局文件
  • 所有activity都要在AndroidManifest.xml文件中进行注册才能生效
  • 通过android:label指定活动中标题栏的内容
  • 让activity成为主activity需加以下声明(点击图标即启动)
<intent-filter> 
   <action android:name="android.intent.action.MAIN"></action>
    <category android:name="android.intent.category.LAUNCHER"></category>
</intent-filter>
  • 注:应用程序没有声明主activity依旧可以安装,只是装后无法在启动器看到或者打开程序,这种一般是作为第三方服务供其他应用在内部调用。如: 支付宝快捷支付服务。
  • Activity隐藏标题栏的代码: requestWindowFeature(Window.FEATURE_NO_TITLE)
  • 注:此句代码需在setContentView前执行,否则报错
  • 在activity中,可以通过findViewById()方法返回一个view对象
    Button btn1 = (Button) findViewById(R.id.first_btn);
  • activity中Toast的使用
  • Toast是一个hud提示框,具体使用如下代码
Toast.makeText(FirstActivity.this, "不要点我啊", 
Toast.LENGTH_SHORT).show();
  • 调用Toast的静态方法makeText()就可创建,注意的是,该方法需传三个参数,第一个是上下文,因为activity本身就是一个上下文故传对应的activity.this即可,第二个参数是显示的内容,第三个参数是Toast显示的时长
  • activity中创建菜单项
public boolean onCreateOptionsMenu(Menu menu) {
    //创建菜单
    getMenuInflater().inflate(R.menu.main, menu);    return true;}
  • 点击菜单的响应事件
public boolean onOptionsItemSelected(MenuItem item) {    switch (item.getItemId()) {
        case R.id.add_item:
        Toast.makeText(this, "点击添加", Toast.LENGTH_SHORT).show();
            break;
        case  R.id.remove_item:
            Toast.makeText(this, "点击移除", Toast.LENGTH_LONG).show();
            break;
        default:
            break;
    } 
   return true;}
  • 销毁一个activity的两种方式
//手机按下back键
//通过调用finish()方法销毁activity
button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); } });
  • Intent是程序中各组件进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。
  • Intent分为显示Intent和隐式Intent
  • 显式Intent的使用步骤:1. 创建Intent,2.调用startActivity()方法
    Intent intent = new Intent(FirstActivity.this, MainActivity.class);startActivity(intent);
  • 隐式Intent:隐式Intent没有明确指出要启动哪个activity,而是指定了一系列抽象的action和category等信息,然后交由系统去分析这个Intent,并启动对应的activity。
  • 要成为隐式Intent可以启动的activity,必须在AndroidManifest.xml文件中绑定对应action和category
    AndroidManifest.xml文件中定义activiy对应的参数
<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="com.example.anwser_mac.myapplication04.ACTION_SART"></action>
        <category android:name="android.intent.category.DEFAULT"></category>
        <category android:name="com.example.anwser_mac.myapplication04.my_category"></category>
    </intent-filter></activity>
  • 调用
Intent intent = new Intent("com.example.anwser_mac.myapplication04.ACTION_SART");
intent.addCategory("com.example.anwser_mac.myapplication04.my_category");
startActivity(intent);
上一篇下一篇

猜你喜欢

热点阅读