第一行代码 学习笔记

使用Log
Log.v  (verbose详细的) 最低级
Log.d (debug 调试)
Log.i (info 通知)
Log.w(warn 警告)
Log.e(error 错误)
还有一个assert 安卓的断言(暂时不知道怎么用) 
Log level 由上到下越来越高
学会有filter来筛选自己想看到的Log信息


Log 比System.out.println()好,以后android尽量不要使用print


在manifest文件中注册activity
<activity
android:name=".activity_name">
<intent-filter>
<action:android:name="android.intent.action.MAIN"/>
<category:android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>


隐藏标题栏
main_activity extends Activity//要继承这个基类


requesWindowFeature(Window.FEATURE_NO_TITLE)//这个必须在setContentView前面,否则报错
setContentView(R.layout.main_activity)


Toast的使用
Toast.makeText(context,msg,Toast中的常量(表示Toast显示的时间长短)).show();//一定要show出来


关于Context(上下文)的创建时机
因为Activity,Application,Service都是继承抽象类Context
Interface to global information about an application environment.  This is an abstract class whose implementation is provided by the Android system.  It
 allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities,broadcasting and receiving intents, etc.
android应用程序会在以下时机创建Context对象
①创建Application
②创建Activity
③创建Server
不难发现,创建Context的时机就是创建Context实现类的时候,
当程序第一次运行的启动时,android系统都会创建一个Application对象,同时创建Application的Context,所有的组件都共同拥有
这样一个Context对象,这个应用上下文对象贯穿整个应用进程的生命周期,为应用全局提供了功能和环境支持。而创建一个Activity
和Server 组件时,系统也会给他们提供运行的上下文,即创建一个Activity,Server的Context对象,所以在Activity中获取Context的时候
可以直接使用this,而在匿名的类部类中就必须 *_activity.this 才能获得这个Context的对象,也可以通过getApplicationContext来获得
整个App的Context,但有时候这个App的Context与组件的Context在某些时候还是有区别的。(摘录自Android群英传)
至于getBaseContext,getApplicationContext,组件.getContext 的区别是什么,暂时在网上找不到一个统一的说法(主要还是getBaseContext 与组件.context返回的Context
哪种Context)暂时不管着先


在活动中创建菜单选项Menu
在main_activity 中重写onCreateOptionsMenu(Menu menu)方法
public boolean onCreateOptionsMenu(Menu menu) { 
getMenuInflater().inflate(R.menu.main, menu);
 return true; 
 } 
 通过getMenuInflater可以得到一个MenuInflater的对象,然后再调用inflate函数,,第一个参数用于指定我们通过哪一个资源 文件来创建菜单,
 这里当然传入R.menu.main,第二个参数用于指定我们的菜单项将添加到哪 一个Menu对象当中,这里直接使用onCreateOptionsMenu()方法
 中传入的 menu参数。然后给 这个方法返回true,表示允许创建的菜单显示出来,如果返回了false,创建的菜单将无法显示。
摘录自《第一行代码》
点击菜单选项事件
重写
 @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case R.id.item1:
                Toast.makeText(this,"item1 click",Toast.LENGTH_LONG).show();
                break;
            case R.id.item2:
                Toast.makeText(this,"item2 click",Toast.LENGTH_LONG).show();
                break;
        }


        return true;
}
销毁一个活动
finish();



















你可能感兴趣的:(android,学习笔记)