安卓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中的相关代码,运行起来没啥变换。。。。。。。晕

安卓app开发日记

时间: 2024-11-05 12:35:16

安卓app开发日记的相关文章

安卓app开发-03-项目的基本开发步骤

android项目的基本开发步骤 这里分享一下开发 安卓 app 的流程,当然有些感觉不必要,其实不然,前期工作也是极为重要的额,就像开发的时候如果目标不对的话,到后期后很迷的,所以一定要提前做好规划,就像上一篇介绍的去做详细的脑图 开发之前还需要做一些准备工作 1.技术储备 a.Java 重要程度: ★★★★★ 2.框架,编程思想,编码规范,设计模式等 b.Xml 重要程度:★★★★ 3.布局,选择器,配置文件等 c.数据库 重要程度:★★★ 4.关系型数据库,SQLite 开发工具 a.Ec

安卓app开发-05-Android xml布局详细介绍

安卓app开发-05-Android xml布局详细介绍 虽然说有 墨刀,墨客 这些图形化开发工具来做 Android 的界面设计,但是我们还是离不开要去学习做安卓原生app,学习 xml 布局还是必要的 (1)准备 首先我们要了解 android 到底有那些布局,和每个布局类型的区别 学习时最好打开 Android Studio 打开 xml 文件对应看一下 配置参数的详细含义不用着急全部理解,放在文章后面,可收藏做查阅[可通过目录跳转] (2)学习目标 学习下xml的布局文件具体写法.这一节

安卓APP开发的初步了解

今天成功安装了Android Studio 并且对APP的开发框架结构进行了初步了解 如上图:app基本结构情况 下面来仔细解释一下各个方面目录的作用 首先 manifests目录:包含AndroidManifest.xml文件 也就是安卓的入口 AndroidManifest.xml用于指定App内部的运行配置,是一个XML描述文件,根节点为manifest,其中package指定了该App的包名. uses-permission,该节点用于声明App运行过程中需要的权限名称.例如,访问网络需

安卓app开发笔记

移动app应用开发也是信息技术课程科技创新的范畴,所以在个人开发app时候记录一些笔记,可能会很乱,所以选择按点来写. 1.网络通信协议,我优先选择http,因为熟悉,okhttp很好用,但是我使用更简单的httpurlconnection来开发 2.数据解析,建议优先选择json传输,一种轻量型的数据格式,解析库也是很多,可以自己写接口啥的. 3.涉及到数组类型的数据传输与保存,建议使用json保存,包括传输与数据库中,300个整型数组或者字符,可以构造成json数据,保存在数据库也是只有一个

安卓app开发-04- app运行的运行和调试

app 运行的运行和调试 本篇介绍在 Android Studio 开发工具,运行调试设备:真机和虚拟机. 真机调试(USB 连接手机) 尽量使用真机进行调试,无论是调试效果和速度都比模拟器要好.使用真机运行调试时,请按照以下步骤进行: ①用USB传输线将手机连接到电脑上.如果连上电脑手机只是充电无其他反应,请更换数据线(有的数据线只能充电). ②根据你的手机型号去官网或者使用手机助手下载安装驱动. ③开启开发者模式.一般手机是不会显示开发者设置的,开启需要打开设置->关于手机(显示安卓版本号的

【lushengduan】01、搭建安卓App开发环境 编写程序HelloWorld

一.搭建开发环境 1.JDK环境变量 JDK下载 链接:http://pan.baidu.com/s/1gen1o9l 密码:8fko 打开计算机-属性-高级系统设置-环境变量,新建JAVA_HOME系统环境变量 C:\Program Files\Java\jdk1.7.0_80 新建CLASSPATH系统环境变量 .;%JAVA_HOME%lib;%JAVA_HOME%lib\tools.jar; 在系统环境变量Path后面追加 ;%JAVA_HOME%/bin;C:\Program File

UWP APP 开发日记

最近需要使用C#开发UWP应用,以前学习过C,这回就是快速看了一下C#的一些特别之处,然后就进入到了实战练习当中. 1.按照MSDN的教程自己搭建了一个简单的“Hello, world”应用.是使用C#和xaml语言.在开发之前,windows 10操作系统和VS2015是少不了的,而且教程上也是使用这个的. 1)创建一个新的项目.在Visual C#选项下的windows选项,里面有一个universal,然后选择一个空的应用模板,最后确定存放位置,就可以点击ok了.虽然是选择了空的应用模板,

寒假安卓app开发学习记录(2)

今天属实是头疼的一天.开始的时候是简单了解了一下安卓的系统架构,了解到大概分为四个部分. 然后看了两节创建安卓项目的课程,准备去实践一下的时候突然发现我的eclipse里竟然没有Android选项.查询了百度后发现是因为我先下载的ADT没有和eclipse关联.于是就安装ADT,安装的时候巨慢,等了十几分钟还没安好,才发现需要离线安装才行.这个问题解决了后又发现出现了一个错误,在网上查了半天,各种尝试,终于发现! 是因为勾选了最下面的那个Contact all 选项,只要把那个勾去掉就不会出现错

django2.0 + python37 + vue 实战 网站开发,安卓app生成

最近接到一个需求,要做一个安卓app,这个app就一个功能,查看说说 要求是查询的信息要记录下来,还要有账号权限控制 理了下需求: 1 安卓app提供查询功能 2 记录查询的信息(用户,查询qq,查询结果) 3 权限控制(控制用户是否可以查询,有效期等) 看了下需求后,发现使用django来做网站后台非常方便快速,还提供了账号权限系统,另外安卓app开发并非我本行,正好之前一阵子研究过node 发现node可以直接将网页打包成app,反正这个app功能也就那么几个,用web来做app就行了,这个