(1)线性布局LinearLayout (2)表格布局TableLayout (3)帧布局FrameLayout (4)相对布局RelativeLayout (5)网格布局GridLayout (6)绝对布局AbsoluteLayouthtml
px(像素) dip或dp(device independent pixels 设备独立像素) sp(scaled pixels 比例像素) in(英寸) mm(毫米) pt(磅)前端
(1)基于监听的事件处理。 (2)基于回调的事件处理。java
(1)在新启动的线程中发送消息。 (2)在主线程中获取、处理消息。react
(1)standard: 标准模式 (2)singleTop: Task栈顶单例模式 (3)singleTask: Task内单例模式 (4)singleInstance: 全局单例模式(新的Task,且次Task只包含这个Activity)。 **在AndroidManifest.xml中,设置launchMode **android
子类: DialogFragment: 对话框界面的Fragment。 ListFragment: 实现列表界面的Fragment。 PreferenceFragment: 选项设置界面的Fragment。 WebViewFragment: WebView界面的Fragment。git
必须实现方法: onCreate(): 初始化想要在Fragment中保持的必要组件。 onCreateView(): 绘制界面组件。 onPause(): 当用户离开该Fragment时将会调用。github
生命周期:web
onAttach(): 当该Fragment被添加到Activity时被回调。 该方法只会被调用一次。 onCreate(): 建立Fragment时被回调。 该方法只会被调用一次。 onCreateView(): 每次建立、绘制该Fragment的View组件时回调该方法。 onActivityCreated():当Fragment所在的Activity被启动完成后回调该方法。 onStart(): 启动Fragment时被回调。 onResume(): 回复Fragment时被回调,在onStart()方法后必定会回调onResume()方法。 onPause(): 暂停Fragment时被回调。 onStop(): 中止Fragment时被回调。 onDestroyView(): 销毁该Fragment所包含的View组件时调用。 onDestroy():销毁Fragment时被回调。 该方法只会被调用一次。 onDetach(): 将该Fragment从Activity中删除、替换完成时回调该方法,在onDestroy()方法后必定会回调onDetach()方法。 该方法只会被调用一次。json
Activity和Fragment通信:后端
Fragment获取它所在的Activity:调用Fragment的getActivity(). Activity获取它包含的Fragment:调用Activity关联的FragmentManager的findFragmentById()或findFragmentByTag()方法. Activity向Fragment传递数据:在Activity中建立Bundle数据包,调用Fragment的setArguments(Bundle bundle)方法便可将bundle数据包传给Fragment。 Fragment向Activity传递数据或Activity须要在Fragment运行中进行实时通讯:在Fragment中定义一个内部回调接口,再让包含该Fragment的Activity实现该回调接口。
(1)Theme是针对窗体级别的,改变窗体样式。 (2)Style是针对窗体元素级别的,改变指定空间或者Layout的样式。 (Android系统的themes.xml和style.xml包含了不少系统定义好的style,建议在里面挑个合适的,而后再继承修改)
(1)”left|right” 绝对的对齐 (2)“start|end” 基阅读顺序的对齐
有点像cell,定义好layout,并将modle传入。
(1)ctrl + enter (2) 选择 Implement Methods 就能够自动生成须要的方法。
android:gravity 针对控件里的元素来讲的,用来控制元素在该控件里的显示位置。 android:layout_gravity 针对控件自己而言,用来控制该控件在包含该控件的父控件中的位置。
出现"layout"就是控件对整个布局的操做
只能在LinearLayout中使用,不能在RelativeLayout中使用。
网络请求声明接口,在APIService中完成 Model层编写完成接口请求 Presenter中实现接口的返回操做 View中定义界面操做接口 Presenter调用View接口 在Activity中实现View的接口
private: 只有在本类中才能访问 public: 正好和private相反,在任何地方都能访问 protected: 本包内能访问,而在包外只有它的子类能访问;
Log.v(tag,message); //verbose模式,打印最详细的日志 Log.d(tag,message); //debug级别的日志 Log.i(tag,message); //info级别的日志 Log.w(tag,message); //warn级别的日志
Log.e(tag,message); //error级别的日志
equal: 检查字符串的值是否相等 ==: 检查对象是否相等
Set HashSet: 不容许出现重复元素;不保证集合中元素的顺序;容许包含一个null元素。(LinkedHashSet为有序的) TreeSet:能够实现排序的集合。(使用Comparator进行排序)
List ArrayList: 可变的数组列表。 LinkedList: 链表结构实现了List接口。 Vector: 相似与ArrayList。不一样处:同一时刻只能够有一个线程操做。 Stack类: 数据结构中的堆栈。
Map
HashMap: 哈希表实现映射集合结构。 TreeMap: 按Map映射中的元素按照键进行升序排序。
Enumeration只能在Vector和HashTable中使用。Iterator使用全部结合。 Enumeration遍历集合时不可移除元素,Iterator能够。
String.format("¥%.2f", mOrderInfo.getOrder_amount()); 将float保留两位小数,转为 string
public void onClick(View v) {
new Thread(new Runnable() {
public void run() {
final Bitmap bitmap = loadImageFromNetwork("http://example.com/image.png");
mImageView.post(new Runnable() {
// run方法会在UI线程中执行
public void run() {
mImageView.setImageBitmap(bitmap);
}
});
}
}).start();
}
复制代码
**在主线程中,更新UI组件。 ** 调用如下方法: Activity.runOnUiThread(Runnable) View.post(Runnable) View.postDelayed(Runnable, long)
若是在工做线程中调用了这3个方法, 那么方法中Runnable参数封装的操做会在UI线程中执行.
View.OnClickListener 单击事件 View.OnCreateContextMenuListener 建立上下文菜单事件 View.OnFocusChangeListener 焦点改变事件 View.OnKeyListener 按键事件 View.OnLongClickListener 长按事件 View.OnTouchListener 触摸事件
layout能够建立横屏和竖屏的布局。 Configuration 能够获取系统的信息
FragmentActivity:实现Fragment,必须继承这类 AccountAuthenticatorActivity: 实现帐户管理界面的Activity TabActivity:实现Tab界面的Activity ListActivity:实现列表界面的Activity LauncherActivity:实现Activity列表界面的Activity,当单击列表项时,所对应Activity被启动 PreferenceActivity:实现程序参数设置,存储界面的Activity AliasActivity:别名Activity的基类,启动其余Activity时结束本身 ExpandableListActivity:可扩展的list,单击某个item后,又可显示一个子list。
启动Activity 启动和中止Service 发送广播信息(Intent) 注册广播信息(Intent)接受者 能够访问APK中各类资源(如Resources和AssetManager等) 能够访问Package的相关信息 APK的各类权限管理
Activity的配置: name:指定Activity的实现类的类名 icon:指定Activity对应的图标 label:指定Activity的标签 exported:指定Activity是否容许被其余应用调用 launchMode:指定Activity的加载模式。(standard,singleTop,singleTask和singleInstance)
4种状态: 运行状态 暂停状态 中止状态 销毁状态
回调方法: onCreate(Bundle savedStatus): 建立Activity时被回调。该方法只会被调用一次。 onStart(): 启动Activity时被回调。 onRestart(): 从新启动Activity时被回调。 onResume(): 恢复Activity时被回调。在onStart()方法后必定会回调onResume()方法。 onPause(): 暂停Activity时被回调。 onStop(): 中止Activity时被回调。 onDestroy(): 销毁Activity时被回调。 该方法只会被调用一次。
FragmentManager fragmentManager = getFragmentManager();FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
复制代码
Activity中获取Fragment事务,调用add()、remove()、 replace()操做,调用commit() 提交事务。
Intent对象包含Component,Action,Category,Data,Type,Extra和Flag属性。 Component:包名 Action:动做 Category:附加类别信息 Data: Action属性提供操做的数据,接受一个Uri对象 Type:Data属性所指定Uri对应的MIME类型 Extra:Bundle对象,用于数据交互 Flag:控制旗标
Drawable资源:StateListDrawable资源: 随目标组件状态的改变而自动切换。 LayerDrawable资源: 数组顺序绘制。(layer-list 覆盖绘制) ShapeDrawable资源:几何图形(如矩形、圆形、线条)。(shape 绘制) ClipDrawable资源:其余位图上截取一个“图片片断”。(clip 截图) AnimationDrawable资源:动画。
主题定义的格式应该是改变窗口外观的格式,例如窗口标题、窗口边框。
ListView ExpandableListView GridView Spinner Gallery AdapterViewFlipper StackView
Adapter接口的实现类有: HeaderViewListAdapter BaseAdapter CursorAdapter ResourceCursorAdapter SimpleCursorAdapter ArrayAdapter SimpleAdapter
File sdCardDir = Environment.getExternalStorageDirectory();
webView = (WebView) findViewById(R.id.webView);
//WebView加载web资源
webView.loadUrl("http://baidu.com");
//覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开
webView.setWebViewClient(new WebViewClient()
{
@Override public boolean shouldOverrideUrlLoading(WebView view, String url)
{
// TODO Auto-generated method stub
// 返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
view.loadUrl(url);
return true;
}
});
复制代码
若是不设置,则直接在系统的浏览器中打开
对String,你建立了一个String,你能经过set方法改变它的长度length吗?显然是不行的! 但 StringBuffer 能够! String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)
基原本说都是在性能上都是 StringBuilder > StringBuffer > String
访问资源文件
警告出现,将须要执行的代码放到Try Catch块中。
com.google.zxing:core 实现二维码生成和解析 io.reactivex:rxandroid 处理网络请求 io.reactivex:rxjava 异步操做,链式操做 com.squareup.retrofit2:retrofit 网络请求框架 com.squareup.retrofit2:adapter-rxjava 支持rxjava com.squareup.retrofit2:converter-gson Gson作为json的转换器 org.greenrobot:eventbus “发布/订阅”模式的事件总线 com.umeng.analytics:analytics 友盟 com.android.support:multidex 解决Dex包超过65535 com.flipboard:bottomsheet-core 底部滑出面板 com.flipboard:bottomsheet-commons 底部滑出面板 com.github.zhaokaiqiang.klog Log开源项目 com.github.bumptech.glide 图片加载框架 com.readystatesoftware.systembartint 沉浸式状态栏 com.jcodecraeer:xrecyclerview recycleView com.mylhyl:acp 权限控制
显示 View.VISIBLE 隐藏 View.INVISIBLE 移除 View.GONE
五十3、
五十4、