`
xiangxm
  • 浏览: 64896 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
  • xiangxm: xurichusheng 写道一些涉及到密码保存的就需要加密/ ...
    3DES加密
  • xurichusheng: 一些涉及到密码保存的就需要加密/解密了。不需要解密的密码,如登 ...
    3DES加密

零散笔记汇总

阅读更多
由于时间关系,这里就不一一整理,不断更新

Activity就是形象的说就是一个容器,在里面放置各种控件(按钮,文本,复选框等),就形成了软件的界面~

Activity是可见的,如果不加任何控件的话,那么就像Windows中的空白窗体一样

通过Public Class activity01 extends Activity{}来创建一个activity01的Activity类,如图所示即是一个Activity

@string/app_name  -->string.xml 文件中   
<string name=""></string>

xmlns:android......表示命名空间

<application></application> 这个标签声明了应用程序的标签及其属性,xml文件中只能出现一次。

安卓的几种布局方式:
Linearlayout    线性布局    
Relativelayout  相对布局
FrameLayout  框架布局
TableLayout 表格布局

   android:layout_gravity="center"
   android:gravity="center"  这两个区别?
一个应用程序可以有多个Activity,每个Activity是同级别的,
<intent-filter> 这个标签位于<activity></activity>内部 。
                <action android:name="android.intent.action.MAIN" /> 决定最先启动谁
            <category android:name="android.intent.category.LAUNCHER" /> 决定应用程序是否显示在程序列表里
<category android:name="android.intent.category.DEDAULT" /> 缺省情况下是什么?
            </intent-filter>
startActivity(StartActivity.this, NetService.class)) 一个activity去调用另外一个activity
打印异常信息:Log.d("++++++++++++++++++++++",e.toString());

总结一下这几个周期方法的作用:

  onCreate():创建Activity调用,用于Activity的初始化,还有个Bundle类型的参数,可以访问以前存储的状态。
  onStart():Activity在屏幕上对用户可见时调用
  onResume():Activity开始和用户交互的时候调用,这时该Activity是在Activity栈的顶部。
  onPause():Activity被暂停时调用,也就是你要对你能看到的这个Activity说byebye的时候调用,这里可以做一些清理和保存工作
  onStop():Activity被停止或者Activity变成不可见时调用
   onDestroy():Activity被从内存中移除,一般发生在执行finish方法时或者Android回收内存的时候

Activity就是被用来进行与用户交互和用来与android内部特性交互的组件,
在应用程序中用到的所有activity都需要在manifest.xml文件中进行注册

R.java文件:
R.java 就是根据资源文件夹 res 生成的 ,R.java 里放的就是 res 中资源文件索引,用一个常量标记 res 中的一个资源文件
drable文件夹下存放图片,根据文件夹名字存放不同密度的图片。
安卓支持通过xml生成视图. R.java 不能修改,他是通过res文件夹下的xml文件生成的。
btnLogin = (Button) this.findViewById(R.id.user_login_btn); -------->这里需要注意this.findViewById() ;方法
根据id找到控件完成初始化,

android:layout_marginTop="10dp"  表示距离上方组件的距离
距离上方的距离,如果上方有组建就是指该组件,你的组建就会在你上面那个组建的下面,
你应该用这个属性:android:layout_alignTop="@id/某个组件",
这样你的组建就在这个组件的上面了,然后再距离这个多少距离就好了
<EditText
1、属性中设置其为透明
android:background="@android:color/transparent"
values文件夹中的colors.xml 文件配置
<color name="transparent">#00000000</color>
2、属性
android:ems="20"设置TextView的宽度为n个字符的宽度
<Button 属性
android:layout_gravity="center_horizontal"设置button水平居中相对于Container 来说
区别于属性:android:gravity="center_horizontal"设置button水平居中,相对于View组件的对齐方式。

比较两个属性的区别:
android:layout_height="wrap_content"根据文本来适应
android:layout_height="fill_content"根据屏幕来适应

安卓中的项目文件作用简介:
gen 存放R.java, 有插件自动生成;
bin  存放class文件,由Eclipse自动编译生成;
res 存放资源,如布局文件、动画文件、图片、xml文件,如strings.xml等等
res下一般有多个文件文件:anim 存放动画文件
drawable 存放图片、selector等
drawable-hdpi  对应高密度屏的图片
drawable-mdpi 对应中密度屏的图片
drawable-ldpi 对应低密度屏的图片
values 存放attrs.xml、strings.xnl、ids.xml、styles.xml等等

Android关于LinearLayout的设置问题
对于 LinearLayout

当 android:orientation="vertical"  时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。

当 android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。

TextView 中的文字居中显示:
android:gravity="center"


此属性表示该控件在谁的上面和下面:
android:layout_below="@id/sales_orderlayout"
        android:layout_above="@id/sales_layoutbottom"

关于Context:
Context提供了关于应用环境全局信息的接口

NameValuePair:
BasicNameValuePair
http协议应用层协议。
其中两个特点:
无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。



textview 设置显示的文字的行距:android:lineSpacingExtra="10dp"
listView 显示背景出现黑色 , 修改代码:android:cacheColorHint="#00000000"
               

Inflater和findViewById() 的区别:
/**
             * Inflater英文意思是膨胀,在Android中应该是扩展的意思吧。 LayoutInflater的作用类似于
             * findViewById(),不同点是LayoutInflater是用来找layout文件夹下的xml布局文件,并且实例化! 而
             * findViewById()是找具体某一个xml下的具体 widget控件(如:Button,TextView等)。
             */

            // LayoutInflater的作用是,把一个View的对象与XML布局文件关联并实例化
            LayoutInflater inflater = (LayoutInflater) listviewActivity.this
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            // LayoutInflater的作用是,把一个View的对象与XML布局文件关联并实例化
            View itemView = inflater.inflate(R.layout.listview_item, null);

            // View的对象实例化之后,可以通过findViewById()查找布局文件中的指定Id的组件
            TextView title = (TextView) itemView.findViewById(R.id.txttitle);
            TextView text = (TextView) itemView.findViewById(R.id.txtContent);


xml文件包含其他的xml文件:
指定id
<include
            android:id="@+id/test5"
            layout="@layout/userloginactivity" />
不指定id
<include layout="@layout/layout_resource"/>
设置EditText中输入的文字起始位置:
android:paddingLeft="15dp"


开关按钮:
<ToggleButton
            android:layout_width="80dp"
            android:layout_height="50dp"
            android:layout_marginTop="30dp"
            android:layout_marginLeft="20dp"
            android:checked="true"
            android:textOff="OFF"
            android:textOn="ON" />



设置listview选中时的背景颜色:
http://www.yoyong.com/archives/224

按钮设置属性:一个按钮在另外一个按钮的左边或者右边:
android:layout_toRightOf ="@+id/choosetable"


activity里面点击空白区域,软键盘消失:
//    点击空白处 软键盘消失
       @Override
       public boolean onTouchEvent(MotionEvent event) {
            InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE );
             return imm.hideSoftInputFromWindow( this.getCurrentFocus().getWindowToken(), 0);
      }


背景设置透明:
  this.getWindow().setBackgroundDrawableResource(R.color.transparent);
  requestWindowFeature(Window. FEATURE_NO_TITLE);

src目录是源文件

res文件目录下包括:
|--gen目录是adt自动生成,里面包括R.java文件,此文件不能修改,这个文件时根据资源文件夹res
          生成的,R.java里面存放的是res资源文件的索引,用一个常量标记res中的文件,便于我们引用
|--drawable 文件夹是存放图片的,分为高中低密度的图片
|--layout目录,存放布局文件,安卓支持通过xml生成视图
|--values文件夹存放我们经常使用的颜色值,字符串,数组等。

xml文件:
android:orientation="vertical"  表示垂直排列
安卓中的几种布局方式:
LinearLayout 线性布局
RelativeLayout 相对布局
TableLayout 表格布局
FrameLayout 帧布局

一个activity在启动的时候会执行:
onCreate()->onStart()->onResume()
结束离开的时候会执行:
onPause()->onStop()->onDestroy()

onCreate() 准备activity的一些资源,onResume() 进行一定的调整
onPause()做一些清洁保存工作


1. onCreate():创建Activity调用,用于Activity的初始化,还有个Bundle类型的参数,可以访问以前存储的状态。
2. onStart():Activity在屏幕上对用户可见时调用
3. onResume():Activity开始和用户交互的时候调用,这时该Activity是在Activity栈的顶部。
4. onPause():Activity被暂停时调用,也就是你要对你能看到的这个Activity说byebye的时候调用,这里可以做一些清理和保存工作
5. onStop():Activity被停止或者Activity变成不可见时调用
6. onDestroy():Activity被从内存中移除,一般发生在执行finish方法时或者Android回收内存的时候

activity生命周期演示图:
android:id="@+id/text_view"表示的含义:
在main.xml的TextView中加入android:id="@+id/text_view"就可以为该TextView分配一个id。。这里@+id/是表示在R类的id类下新增常量字段,这里的常量字段是text_view。

这里说一下度量单位。度量单位有很多,如px,pt,dip,sp等等。不过建议应该使用sp作为字体大小的单位,使用dip作为其他元素的单位。。因为sp是刻度无关的像素,更重要的是他可以根据用户的字体大小的首选项进行缩放,这才是重要的,这样当你调整了整体的字体大小时不至于使得个别字体的大小不一致而影响美观。
实现跑马灯效果的时候最好加上android:singleLine="true"单行展示。。
EditText:
EditText是一个非常重要的组件,可以说它是用户和Android应用进行数据传输窗户,有了它就等于有了一扇和Android应用传输的门,通过它用户可以把数据传给Android应用,然后得到我们想要的数据。
android:hint来设置当EditText内容为空时显示的文本,这个文本只在EditText为空时显示,你输入字符的时候就消失了,不影响你的EditText的文本
android:maxLength=“4”就表示最多能输入4个字符,再多了就输入不进去了。
android:textColorHint="#238745"设置颜色
android:enabled="false" 设置edittext为不可编辑
android:password="true" 表示输入密码
在安卓中没有专门的文本域控件,我们可以将EditText设置成类似于文本域控件的。
做法:将:android:layout_height ="wrap_content"-->改成:android:layout_height = "200dip"
android:phoneNumber="true"就可以把EditText变成只接受电话号码输入的文本框,连软键盘都已经变成拨号专用软键盘了,所以不用再担心输入其他字符了。
android:numeric来控制输入的数字类型,一共有三种分别为integer(正整数)、signed(带符号整数)和decimal(浮点数)。eg:android:numeric="signed"/>
android:inputType来设置文本的类型,让输入法选择合适的软键盘的。
eg:android:inputType="date"

Android也为我们提供的这样的功能。通过设置android:imeOptions来改变默认的“完成”文本。这里举几个常用的常量值:

1. actionUnspecified  未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED.效果:
2. actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE 效果:
3. actionGo 去往,对应常量EditorInfo.IME_ACTION_GO 效果:
4. actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH 效果:
5. actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND 效果:
6. actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT 效果:
7. actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE 效果:

intent是描述应用想要做什么。
activity:一个activity就是一个单独的屏幕,一个活动就是一个独立的类,继承制基类。
当一个屏幕打开后前一个屏幕将会暂停,保存在堆栈中。所有的acitivity类继承自android.app.Activity类。
在intent的描述结构中,有两个重要的部分:动作和对应的数据,典型的动作类型有:VIEW,PICK,EIDIT,而动作对应的据则以uri的形式表示,与之有关系的一个类是intentfilter,用于描述一个activity可以操作那些intent,一个intentfilter需要子啊AndroidManifest.xml中进行定义。
Servise:一段长生命周期的,没有用户界面的程序。
SQLite作为系统的DB
在安卓中每一个应用都运行在自己的进程中,要想实现数据共享和传输使用ContentProvider来完成、

Dalvik虚拟机
Dalvik 是基于寄存器的,JVM是基于栈的,前者对于更大程序来说话费的时间更短。
Dalvik允许在有限的内存中同时运行多个虚拟机实例。
安卓上的class文件需要链接成dex文件后才能在dalvik上运行。class文件不能直接运行在Dalvik上(dex文件安卓平台的可执行文件)。
JAR文件,JAR的含义为Java ARchive.
adb:
快速更新设备或手机模拟器中的代码,如应用或者安卓系统升级
在设备上运行shell命令
管理设备或手机手机模拟器上预订端口
在设备或者手机模拟器上复制,粘贴文件

adb常用操作:安装应用到模拟器,
Android 的用于传给集合控件(ListView,Spinner,GridView 等)的数据都是以 Adapter 的形势,这样的好处就是只要掌握了 Adapter ,就可以很随意的给这些集合控制传递数据,因为他们使用的都是 Adapter 。

<ImageView <TextView 等控件属性
android:layout_alignParentRight="true" 属性表示存放的位置(右端)。
android:layout_alignParentLeft="true"  左端

< GridView 及其属性:
<GridView
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/gridview"
  android:layout_width= "fill_parent"
  android:layout_height= "fill_parent"
  android:columnWidth="90dp"  列宽度
  android:numColumns="auto_fit"  自动匹配填充
  android:horizontalSpacing= "10dp"    水平间距
  android:verticalSpacing= "10dp" 垂直间距
  android:stretchMode="columnWidth" 匹配模式 根据列宽自动缩放
  android:gravity="center"> 位于中部
</GridView>

单选按钮放在<RadioGroup >标签中,<spinner表示下拉框
wrap_content」(包住内容)

查看帮助文档:
离线文件
当你处于没有网路连接的情况下时,也可以找到Android 文件参考。在下载了
android-sdk
后,将之解压缩,你可以在「android-sdk/docs」目录中
(android_sdk/docs/reference/view-gallery.html)
,找到一份与线上文件相同的文件参
考。

protected void onCreate(Bundle savedInstanceState) {
            super. onCreate(savedInstanceState);
           setContentView(R.layout. activity_main);
...
}

当Android 应用程序启动、换到背景等待、关闭时,都会用到"savedInstanceState"这
个实体来处理记忆体相关的事宜。
"Bundle"可以保存程序上一次关闭(冻结)时的状态。你可以透过覆写onFreeze 方法(与
onCreate 方法的作用类似) 来保存冻结前的状态。当程序启动(Activity 重新初始化)时,
会再次呼叫onCreate 方法,你就能从savedInstanceState 中得到前一次冻结的状态。我们
也可以透过"Bundle"来将这个Activity 的内容传到下一个Activity 中。

classes.dex  他是给android的java虚拟机Dalvik运行的字节码文件。

后续......


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics