在这里开始记录我的Android学习之路
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文档中。文件内容如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="background">#3500ffff</color>
</resources>
5.在AndroidManif.xml文件中为activity定义主题:在activity标签下添加语句android:theme="@android:style/Theme.Dialog"
参考http://d.android.com/reference/android/R.style.html..了解其中以Theme_开头的内容
6.在res/mesu/menu.xml文件中定义菜单:文件内容如:
<?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>
监听Menu键的方法onCreateOptionsMenu(Menu menu),菜单被选择后调用方法onOptionItemSelected(MenuItem item)
对于菜单有MenuInflater来解析menu.xml文件内容,inflater.inflater(R.menu.menu,menu); 42
7.程序首选项。定义res/xml/settings.xml定义首选项,文件内容如:
<?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>
可以直接定义类继承PreferenceActivity类,在onCreate()中调用addPreferencesFromResource(R.xml.settings); 43
8.定义数组:在res/values/strings.xml定义。文件内容如:
<?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>
9,Android用整数int来表示颜色而不是Color实例,颜色中透明度,红色,绿色,蓝色各占一个八位,分别有256个可能的值。Color.argb(,,,)颜色的工厂方法。
10.getResources()方法返回当前活动的ResourceManager类。
11.Path类包含一组矢量绘图命令。PathEffect类可以实现特殊效果。
12.Drawable类主要针对想位图或纯色这样只用于显示的视觉元素。可绘图区(drawable)几乎总是在xml中定义。res/drawable/background.xml文件内容如:
<?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>
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毫秒)
<?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" />
cycleInterpolater的定义:(循环7次)
<?xml version="1.0" encoding="utf-8"?>
<cycleInterpolator
xmlns:android="http://schemas.android.com/apk/res/android"
android:cycles="7" />
16.设置全屏可以在Manifest.xml中设置:android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
17.可以用View中OnSaveInstantceState()和onRestoreInstanceState(Parcelable state)两个方法来保存和获取活动退出时保存的信息。如:
@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));
}
18.读写sd卡时需要在manifest.xml设置权限WRITE_EXTERNAL_STORAGE等。
19.访问Internet需要在manifest.xml设置权限<uses_permission android:name="android.permission.INTERNET"/>
20.android中Adapter类用于将数据源绑定到用户界面控件上。
21.Android能够和网页中的JavaScript进行交互。P107
22.Sensor类中定义了很多传感器设备。
23.所有的GLView(实现3D视图)都要继承GLSurfaceView,并为视图定义一个渲染器GLRenderer(实现GLSurfaceView.Renderer接口)
24.Android中定义一个主界面小部件需要在manifest.xml中使用<receiver>标签,如:
<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>
标签告知Android在res/xml/widget.xml中存在小部件的定义。定义内容如下:
<?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"
/>
小部件要扩展AppWidgetProvider类。
25.ListView是需要绑定数据源的----->ArrayAdapter、SimpleAdapter、SimpleCursorAdapter, SimpleCursorAdapter要以数据库作为数据源的时候才使用。
分享到:
相关推荐
这篇博客"Android学习之路——4.Activity简介"很可能会详细解释Activity的基本概念、生命周期以及如何在实践中使用它。 Activity作为Android应用程序的一个窗口,它可以显示用户界面,并响应用户的交互。每个...
本篇文章将深入探讨“Android学习之路——7.Service”,分析Service的基本概念、使用方式以及常见应用场景,同时结合源码解析Service的工作原理,并提供一个实战Demo——Service_Demo。 一、Service基本概念 ...
在本篇博客“Android学习之路——6.android.account包和AbstractThreadedSyncAdapter适配器”中,我们将深入探讨这个包的核心概念以及`AbstractThreadedSyncAdapter`的作用。 `android.account.Account`类是表示...
这篇博客"Android学习之路——9.Creating an IME(译)"可能会探讨如何创建自定义的IME服务,以满足特定的应用场景需求。 首先,我们需要了解IME的基本结构。IME通常由以下组件组成: 1. `InputMethodService`:这...
Android学习笔记(一)——创建第一个Android项目 Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) ...
通过深入学习和实践`Android-vlayout实战——仿淘宝首页`项目,开发者不仅可以掌握VirtualLayout的使用,还能了解到如何优化Android应用的性能,特别是在处理大规模数据和复杂布局时。这将对提升Android应用的用户...
在本章节中,“Google.Android开发入门与实战第12章.Android综合案例一——RSS阅读器实例”主要聚焦于Android应用程序开发中的一个实际应用场景——构建一个RSS阅读器。这个实例将帮助初学者理解如何将Android SDK的...
【Android Studio应用开发——基础入门与应用实战】是针对初学者和希望提升Android应用程序开发技能的人群设计的一门课程。这门课程由专家方欣和杨勃共同编写,旨在通过电子课件的形式,深入浅出地讲解Android ...
Android Training系列是Google提供的一系列教程,旨在帮助开发者提升技能,而"Android Training学习笔记——Navigation 参考源码"则是对这一主题的深入探讨。 首先,Navigation组件的核心概念是Navigation Graph,...
android入门级视频:Android基本组件介绍之Android应用的灵魂——Intent和Activity介绍与实例
Android开发者学习笔记——View、Canvas、bitmap Android 开发者学习笔记——View、Canvas、bitmap 是 Android 开发中常用的类,本文将通过实例讲解 View、Canvas 等相关知识点。 从资源中获取位图 在 Android ...
之前博文《 Android学习笔记之——Android Studio的安装(3.6版本)、Java的基本语法及Android的概述 》曾经介绍过android有四大组件。本博文学习一下Content Providers(内容提供器) 目录 Android运行时 ...
标题中的“免费 android 应用 源代码——记事本”表明这是一份关于Android应用开发的资源,特别是一个记事本应用的源代码。记事本应用是Android平台上常见的学习示例,它通常涉及到基础的用户界面设计、数据存储以及...
这篇“Android Training学习笔记——Navigation 参考源码(ListView版)”深入探讨了如何使用Navigation构建一个基于ListView的导航系统。我们将从以下几个方面来详细讨论这个主题: 1. **Navigation组件简介** ...
除此之外,合集还可能包含了针对Android开发者的学习路径建议,比如如何从基础开始逐步进阶,学习Android最新版本的新特性,或者如何准备面试,提升求职竞争力。此外,可能还会有社区资源的推荐,如开源项目、技术...
Android拥有广大的用户群体,市场前景也很好,所以学习Android的人很多。但是因为Android很容易上手,如果只是单纯的学一些简单的东西很明显没有竞争力。所以必须学一点深层次的东西来提升自己的核心竞争力。第1章 ...
综上所述,"Android中文翻译组——Android中文合集(6)"包含的资料涉及了Android开发的各个方面,是学习和提升Android技能的重要资源。通过深入研究和实践这些知识点,开发者能够更好地理解和开发Android应用。