• 安卓app开发日记


    1,确定安卓程序结构

        主要4块

          main.xml这个就是手机界面的UI结构

          R,java 系统资源列表,相当于硬件的system文件(具体怎么生成的待查)

                    AndroidManifest.xml 系统功能列表,加功能要往里面写代码(不知道除了activity之类的其他类是不是也要往里面写)

          mainactivity.java你biancheng 的地方

    2,安卓程序流程

          Activity类只是一个包含一些基本窗口功能的类,启动后实际是一个空白框,

          需要在其中加入自己的设计,下面是一个空项目的activity的声明

        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState); 
            setContentView(R.layout.activity_main);
        }
    Bundle savedInstanceState,这个是为了在activity中止时保存其状态,具体保存内容待查
    代码如下
    public void onSaveInsanceState(Bundle saveInsanceState){
           super.onSaveInsanceState(saveInsanceState);
       }
    在实际应用中,当一个Activity结束前,如果需要保存状态,就在onsaveInsanceState中,将状态数据以key-value的形式放入到saveInsanceState中。这样,当一个Activity被创建时,就能从onCreate的参数saveInsanceState中获得状态数据。
     setContentView(R.layout.activity_main);
    activity_main是个布局文件即控件都是如何摆放如何显示的,setContentView就是设置一个Activity的显示界面,这句话就是设置这个这句话所再的Activity采用R.layout下的
    activity_main布局文件进行布局
    使用setContentView可以在Activity中动态切换显示的View,这样,不需要多个Activity就可以显示不同的界面,因此不再需要在Activity间传送数据,变量可以直接引用。但是,在android SDK给我们建的默认的Hello World程序中,调用的是setContentView(int layoutResID)方法,如果使用该方法切换view,在切换后再切换回,无法显示切换前修改后的样子,也就是说,相当于重新显示一个view,并非是把原来的view隐藏后再显示。其实setContentView是个多态方法,我们可以先用LayoutInflater把布局xml文件引入成View对象,再通过setContentView(View view)方法来切换视图。因为所有对View的修改都保存在View对象里,所以,当切换回原来的view时,就可以直接显示原来修改后的样子
    setContentView相关用法如下:
    http://www.360doc.com/content/12/1106/15/8189294_246188695.shtml
    然后是下面这一段
    public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    onCreateOptionsMenu具体用法见链接http://www.linuxidc.com/Linux/2012-02/55500.htm

    getMenuInflater().inflate(R.menu.options_menu,menu):
    
    
    a.inflate的作用是将xml定义的而一个布局找出来,但仅仅是找出来。
    
    
    b.第一个参数是布局,第二个参数是菜单。
     

    添加一个 TextView:

        1,添加相应的包

        2,在mainactivity.java中声明一个textview

        3,在main.xml中描述text,内容为

    <TextView android:text ="TextView01"
    android:id="@+id/TextView01"                      R.java可查到
    android:layout_width ="wrap_content"
    android:layout_height ="wrap_content"
    android:layout_x ="61px"
    android:layout_y ="69px">               注意:android:layout_x 和 android:layout_y 只有在 AbsoluteLayout 布局中才会出效的。而一般的默认布局是 LinearLayout 布局。
    </TextView>

    1)fill_parent

    设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。这跟Windows控件的dockstyle属性大体一致。设置一个顶部布局或控件为fill_parent将强制性让它布满整个屏幕。

    2) wrap_content

    设置一个视图的尺寸为wrap_content将强制性地使视图扩展以显示全部内容。以TextView和ImageView控件为例,设置为wrap_content将完整显示其内部的文本和图像。布局元素将根据内容更改大小。设置一个视图的尺寸为wrap_content大体等同于设置Windows控件的Autosize属性为True。

    3)match_parent
       Android2.2中match_parent和fill_parent是一个意思 .两个参数意思一样,match_parent更贴切,于是从2.2开始两个词都可以用。那么如果考虑低版本的使用情况你就需要用fill_parent了

        

    利用 findViewById()方法获取 main.xml 中的 TextView:                   mTextView01 = (TextView) findViewById(R.id. TextView01);

    我们调用的findViewById()函数其实有两种(目前我只看到两种,不确定还有没有其他的),一种是Activity类中findViewById()函数

    另外一种是View类中定义的findViewById()函数

    一般我们在oncreate()方法中使用的(**view)findViewById(R.id.**)既是调用的Activity中的findViewById()函数

    而在其他情况写出的***view.findViewById()中调用的是view类中的findViewById(


    ⑤ 设置 TextView 标签内容
    ⑥ 设置文本超级链接
    import android.widget.TextView;
    private TextView mTextView01 ;
    mTextView01 = (TextView) findViewById(R.id. TextView01);
    String str_2 = "欢迎来到Android 的TextView 世界...";
    mTextView01 .setText(str_2)

    添加超链接

    <TextView
    android:id="@+id/TextView02"
    android:layout_width ="wrap_content"
    android:layout_height ="wrap_content"
    android:autoLink ="all"
    android:text ="请访问Android 开发者:
    http://developer.android.com/index.html" >
    </TextView>

    textview_xml 参数:http://blog.csdn.net/wazhl/article/details/7665379

    可以再mainactivity.xml中自己看

    添加view这个部分不需要在AndroidManifest.xml添加>?

    反正我不加是成功了

    在AndroidManifest.xml里面有着一段

    <View
    android:layout_width="match_parent"
    android:layout_height="1dip"
    android:background="#696969" />

    这个大概是主界面,不过删除之后,包括main.xml中的相关代码,运行起来没啥变换。。。。。。。晕
  • 相关阅读:
    【转】解决数据库不能更新或数据库或对象为只读
    qt 5 小练习 简易画板
    qt5 基础知识
    qt 5 基础知识 2(控件篇)
    连接sql server、插入数据、从数据库获取时间(C#)
    冒泡排序(C#)
    获取文件的MD5码(C#)
    微信公众平台开发——关于网页签名那些事
    微信公众平台——token验证php版
    浏览器基本工作方法
  • 原文地址:https://www.cnblogs.com/puck/p/3925155.html
Copyright © 2020-2023  润新知