android基础学习

一、创建应用程序和Activity

  1. Manifest.xml -->包含 Acitity、Service、Content Provider 和 Broadcast Receiver 节点,并使用Intent Filter 和权限来确定这些组件之间以及这些组件和其他应用程序是如何交互的。
  2. activity原理以及子类描述-->Activity是Android应用程序组件,实现一个用户交互窗口,我们可以实现布局填充屏幕,也可以实现悬浮窗口。一个app由很多个Actvitiy组合而成,它们之间用intent-filter区别主次关系。

android基础学习_第1张图片


二、视图设计(UI):

布局:LinearLayout(线性布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)、TableLayout(表格布局)、FrameLayout(帧布局)

注意:layout_weight设置比重,只有在LinearLayout中,该属性才有效,同时设置为layout_width/layout_height=0dip

基本视图-->

  1. TextView:显示文本
  2. EditText :编辑显示的文本
  3. Button:按钮
  4. ImageButton:与Button视图类似,不过它还显示一个图像
  5. CheckBox:具有2个状态的特殊按钮类型:选中和未选中
  6. ToggleButton:用一个灯光指示器来显示选中、未选中状态
  7. RadioButton:有2个状态:选中、未选中
  8. RadioGroup:用来把一个或多个RadioButton视图组合在一起,从而该RadioGroup只允许一个RadioButton选中
  9. ProgressBar:提供了一些正在进行任务的视觉反馈
  10. AutoCompleteTextView:与EditText类似,只是在用户输入时自动显示完成建议的列表
选择器视图-->
  1. TimePicker:用户按24 小时或AM/PM 模式选择一天中的某个时间
  2. DatePicker:选择一个特定的日期

列表视图-->

  1. ListView:在一个垂直滚动列表中显示项列表(支持筛选)
  2. SpinnerView:一次显示列表中的一项,并可以使用户在其中进行选择
碎片-->是一种可以嵌入在活动中的UI片段, Android3.0开始引入的碎片(Fragment),其最主要的目的是为了给大屏幕手持设备提供更加灵活和动态的UI设计,在平板应用方向运用非常广。使用碎片时可以定制程序的用户界面,通过动态地重新排列碎片使其适应活动,这样就允许建立的应用程序在不同屏幕尺寸的设备上运行。为创建一个碎片,需要一个扩展Fragment基类的类。除了Fragment基类外,还可以扩展它的子类,以创建更加特殊的碎片,Fragment的3个子类:ListFragment\DialogFragment\PreferenceFragment.



    
    
        

android基础学习_第2张图片

事件

为了处理每一个视图所触发的事件,首先需要以编程方式定位在onCreate()事件所创建的视图(做法:使用Activity基类的findViewById()方法,传入该视图的id),然后以不同的视图注册一个不同的事件,当单击视图时,回调这个方法。

事件方法有2个:1-->接口回调方式绑定点击事件

Button button = (Button) findViewById(R.id.click_button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //点击按钮要做的事情
            }
        });

2-->委托代理

button.setOnClickListener(this);

//重写委托回调的方法
    /**
     * Called when a view has been clicked.
     *
     * @param v The view that was clicked.
     */
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.click_button:
                //点击按钮后要做的事情
                break;
            default:
                break;
        }
    }

三、Intent和Broadcast Receiver

  1. Intent是一种消息传递机制,可以在应用程序内使用,也可以在应用程序件使用。

   a.使用Intent来启动Activity(startActivity(intent),startActivityForResult(intent,requestcode))

        Intent最常见的用途是绑定应用程序组件,并在应用程序之间进行通信。Intent用来启动Activity,允许创建不同屏幕的一个工作流。

    b.Linkify (startActivity(new Intent(Intent.ACTION_VIEW,uri)))

        Linkify是一个辅助类,它会自动地在TextView类或者其派生类中通过RegEx模式匹配来创建超链接。

    c.使用Intent广播事件

        作为一个系统级的消息传递机制,Intent可以在进程之间发送结构化的消息。因此,可以通过实现Broadcase       Receiver来监听和响应应用程序内的这些Broadcast Intent,Intent可以使用sendBroadcas方法来在之间之间匿名广播消    息。

四、文件、保存状态和首选项

数据持久化功能:文件存储、SharedPreference存储,数据库存储

文件储存
    用于保存一些简单的文本数据或二进制数据。
    使用到的方法:Context类中提供了openFileOutput()方法 和 openFileInput()方法
    openFileOutput()方法 拥有两个参数 第一个是文件名 第二个是文件的操作方式
    默认的存储到data/data/ files目录下
    文件的操作方式: MODE_PRIVATE当指定同样文件名时会覆盖原文件中的内容
                                MODE_APPEND当该文件已存在时就往文件中追加内容,不会创建新文件

    文件存储使用:java流

Sharedpreference存储

 sharedPreferences是采用键值对的方式存储数据的,它的储存方式比文件储存简单易用。


 使用到的方法:getSharedPreferences() 此方法接受两个参数,


         第一个参数是文件名,如果文件不存在则会创建一个。


          默认的储存路径是:data/data//shared_prefs/下


         第二个参数是指定操作模式:MODE_PRIVATE和MODE_MULTI_PROCESS


         MODE_PRIVATE表示只有当前应用程序可以对sharedPreferences文件读写。


         MODE_MULTI_PROCESS 用于会有多个进程中对同一个sharedPreferences文件读取。

数据库存储

    当我们需要储存大量复杂的关系型数据的时候,前两种方法就有点力不从心了,例如保存短息,联系人信息等,这个时候我们就可以使用安卓内置的数据库。

    安卓系统内置了SQLLite数据库,它支持SQL语法,还遵循数据库的ACID事务,是一款轻量级的数据库


五、数据库和Content Provider

六、通过HTTP使用web服务



你可能感兴趣的:(android)