Android学习之路——开始

[size=x-large][b]在这里开始记录我的Android学习之路[/b][/size]
[b]1.activity的生命周期:onCreate() onStart() onResume() onPause() onStop() onRestart() onDestroy().

2.一次方向变化(在纵向和横向模式之间切换)会让系统经历一下过程:保存实例的状态,暂停,停止,销毁,然后使用以保存的状态创建新的活动实例。

3.可以创建res/layout/main.xml 和 res/layout-land/main.xml 来定义同一个activity的不同显示时(横向和纵向)所使用的布局文件。

4.颜色可以定义到res/values/colors.xml文档中。文件内容如:[/b]
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="background">#3500ffff</color>
</resources>


[b]5.在AndroidManif.xml文件中为activity定义主题:在activity标签下添加语句[/b]
android:theme="@android:style/Theme.Dialog"
[b]参考http://d.android.com/reference/android/R.style.html..了解其中以Theme_开头的内容[/b]

[b]6.在res/mesu/menu.xml文件中定义菜单:文件内容如:[/b]
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/settings"
android:title="@string/settings_label"
android:alphabeticShortcut="@string/settings_shortcut" />
</menu>
[b]监听Menu键的方法onCreateOptionsMenu(Menu menu),菜单被选择后调用方法onOptionItemSelected(MenuItem item)
对于菜单有MenuInflater来解析menu.xml文件内容,inflater.inflater(R.menu.menu,menu); 42[/b]

[b]7.程序首选项。定义res/xml/settings.xml定义首选项,文件内容如:[/b]
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference
android:key="music"
android:title="@string/music_title"
android:summary="@string/music_summary"
android:defaultValue="true" />
<CheckBoxPreference
android:key="hints"
android:title="@string/hints_title"
android:summary="@string/hints_summary"
android:defaultValue="true" />
</PreferenceScreen>
[b]可以直接定义类继承PreferenceActivity类,在onCreate()中调用addPreferencesFromResource(R.xml.settings); 43[/b]

[b]8.定义数组:在res/values/strings.xml定义。文件内容如:[/b]
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="difficulty">
<item>@string/easy_label</item>
<item>@string/medium_label</item>
<item>@string/hard_label</item>
</array>
</resources>

[b]9,Android用整数int来表示颜色而不是Color实例,颜色中透明度,红色,绿色,蓝色各占一个八位,分别有256个可能的值。Color.argb(,,,)颜色的工厂方法。

10.getResources()方法返回当前活动的ResourceManager类。

11.Path类包含一组矢量绘图命令。PathEffect类可以实现特殊效果。

12.Drawable类主要针对想位图或纯色这样只用于显示的视觉元素。可绘图区(drawable)几乎总是在xml中定义。res/drawable/background.xml文件内容如:[/b]
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFFFFF"
android:endColor="#808080"
android:angle="270" />
</shape>


[b]13.FontMetrics类可以获得显示字符是的信息。FontMetrics fm = Paint.getFontMetrics();

14.View类中的invalidate(Rect rec)可以通知Android选择矩形覆盖的区域需要重绘。不带参数的,刷新整个屏幕。

15.View中开启一个动画startAnimation(AnimationUtils.loadAnimation(Context c,R.anim.shake));
R.anim.shake的定义:(左右方向上以10个像素为单位抖动屏幕,持续时间为1000毫秒)[/b]
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="10"
android:duration="1000"
android:interpolator="@anim/cycle_7" />

[b]cycleInterpolater的定义:(循环7次)[/b]
<?xml version="1.0" encoding="utf-8"?>
<cycleInterpolator
xmlns:android="http://schemas.android.com/apk/res/android"
android:cycles="7" />


[b]16.设置全屏可以在Manifest.xml中设置:[/b]
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"


[b]17.可以用View中OnSaveInstantceState()和onRestoreInstanceState(Parcelable state)两个方法来保存和获取活动退出时保存的信息。如:[/b]
 @Override
protected Parcelable onSaveInstanceState() {
Parcelable p = super.onSaveInstanceState();
Log.d(TAG, "onSaveInstanceState");
Bundle bundle = new Bundle();
bundle.putInt(SELX, selX);
bundle.putInt(SELY, selY);
bundle.putParcelable(VIEW_STATE, p);
return bundle;
}
@Override
protected void onRestoreInstanceState(Parcelable state) {
Log.d(TAG, "onRestoreInstanceState");
Bundle bundle = (Bundle) state;
select(bundle.getInt(SELX), bundle.getInt(SELY));
super.onRestoreInstanceState(bundle.getParcelable(VIEW_STATE));
}

[b]18.读写sd卡时需要在manifest.xml设置权限WRITE_EXTERNAL_STORAGE等。

19.访问Internet需要在manifest.xml设置权限[/b]
<uses_permission android:name="android.permission.INTERNET"/>


[b]20.android中Adapter类用于将数据源绑定到用户界面控件上。

21.Android能够和网页中的JavaScript进行交互。P107

22.Sensor类中定义了很多传感器设备。

23.所有的GLView(实现3D视图)都要继承GLSurfaceView,并为视图定义一个渲染器GLRenderer(实现GLSurfaceView.Renderer接口)

24.Android中定义一个主界面小部件需要在manifest.xml中使用<receiver>标签,如:[/b]
 <receiver android:name=".Widget"
android:label="@string/widget_name">
<intent-filter>
<action android:name=
"android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widget" />
</receiver>
<meta-data>
[b]标签告知Android在res/xml/widget.xml中存在小部件的定义。定义内容如下:[/b]
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="146dip"
android:minHeight="72dip"
android:updatePeriodMillis="1800000"
android:initialLayout="@layout/main"
/>
[b]小部件要扩展AppWidgetProvider类。

25.ListView是需要绑定数据源的----->ArrayAdapter、SimpleAdapter、SimpleCursorAdapter, SimpleCursorAdapter要以数据库作为数据源的时候才使用。[/b]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值