- 浏览: 675304 次
- 性别:
- 来自: 安徽
文章分类
- 全部博客 (252)
- Html/Div+CSS (12)
- Js/Jquery (34)
- Flex (2)
- Ajax (3)
- Java (35)
- C# (15)
- Spring (16)
- Hibernate (13)
- Struts2 (12)
- Struts1 (7)
- DWR (1)
- iBatis/myBatis (9)
- Tag(JSTL、EL) (1)
- Android (44)
- SQL (7)
- SEO (7)
- Exception (3)
- Tool (10)
- Other (3)
- WebService (9)
- Apache (7)
- Ext (0)
- Utils (12)
- thinking in programme (2)
- Hadoop (0)
- ActiveMQ (0)
- HTML5/CSS3 (0)
- WPF (1)
- NodeJs (1)
- 设计模式 (0)
- 程序人生 (1)
- 随笔 (1)
- Linux (1)
- Load Balance (0)
最新评论
-
drinkjava2:
太复杂了而且不通用,利用ThreadLocal可完美解决这一问 ...
JDBC的多条件动态查询 -
u013107014:
multipartRequest.getFiles(" ...
多文件上传 by MultipartFile and Multiple -
liyys:
可惜没讲你mysql数据库的表的设计
iBatis入门 -
Mapple_leave:
效果还是挺不错的,谢谢了。
中文简体与繁体的转换 -
arcpad:
JS禁用浏览器退格键
Android学习08-----Android中的基本控件(下)(6)_菜单:Menu和隐式抽屉组件:SlidingDrawer
- 博客分类:
- Android
一、菜单: Menu
1 、选项菜单,通过程序生成
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/txt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="按下Menu键出现选项菜单" /> </LinearLayout>
Menu01_Activity.java
package com.iflytek.demo; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; public class Menu01_Activity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(Menu.NONE, Menu.FIRST + 1, 5, "删除").setIcon( android.R.drawable.ic_menu_delete); menu.add(Menu.NONE, Menu.FIRST + 2, 2, "保存").setIcon( android.R.drawable.ic_menu_save); menu.add(Menu.NONE, Menu.FIRST + 3, 6, "帮助").setIcon( android.R.drawable.ic_menu_help); menu.add(Menu.NONE, Menu.FIRST + 4, 1, "添加").setIcon( android.R.drawable.ic_menu_add); menu.add(Menu.NONE, Menu.FIRST + 5, 4, "详情").setIcon( android.R.drawable.ic_menu_info_details); menu.add(Menu.NONE, Menu.FIRST + 6, 7, "发送").setIcon( android.R.drawable.ic_menu_send); menu.add(Menu.NONE, Menu.FIRST + 7, 3, "编辑").setIcon( android.R.drawable.ic_menu_edit); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // 判断操作的菜单ID case Menu.FIRST + 1: Toast.makeText(this, "您选择的是“删除菜单”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 2: Toast.makeText(this, "您选择的是“保存菜单”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 3: Toast.makeText(this, "您选择的是“帮助菜单”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 4: Toast.makeText(this, "您选择的是“添加菜单”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 5: Toast.makeText(this, "您选择的是“详情菜单”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 6: Toast.makeText(this, "您选择的是“发送菜单”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 7: Toast.makeText(this, "您选择的是“编辑菜单”项", Toast.LENGTH_LONG).show(); break; } return false; } @Override public void onOptionsMenuClosed(Menu menu) { Toast.makeText(this, "选项菜单关闭了", Toast.LENGTH_LONG).show(); } @Override public boolean onPrepareOptionsMenu(Menu menu) { Toast.makeText(this, "在菜单显示(onCreateOptionsMenu()方法之前会调用此操作,可以在此操作之中完成一些预处理功能。)", Toast.LENGTH_LONG).show(); return true; } }
2 、通过配置文件生成菜单
Menu02_Activity.java
package com.iflytek.demo; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.Toast; public class Menu02_Activity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.getMenuInflater().inflate(R.menu.mymenu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // 判断操作的菜单ID case Menu.FIRST + 1: Toast.makeText(this, "您选择的是“删除菜单”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 2: Toast.makeText(this, "您选择的是“保存菜单”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 3: Toast.makeText(this, "您选择的是“帮助菜单”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 4: Toast.makeText(this, "您选择的是“添加菜单”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 5: Toast.makeText(this, "您选择的是“详情菜单”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 6: Toast.makeText(this, "您选择的是“发送菜单”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 7: Toast.makeText(this, "您选择的是“编辑菜单”项", Toast.LENGTH_LONG).show(); break; } return false; } @Override public void onOptionsMenuClosed(Menu menu) { Toast.makeText(this, "选项菜单关闭了", Toast.LENGTH_LONG).show(); } @Override public boolean onPrepareOptionsMenu(Menu menu) { Toast.makeText(this, "在菜单显示(onCreateOptionsMenu()方法之前会调用此操作,可以在此操作之中完成一些预处理功能。)", Toast.LENGTH_LONG).show(); return true; } }
Res/menu/ mymenu.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/item01" android:title="添加" android:icon="@android:drawable/ic_menu_add" /> <item android:id="@+id/item02" android:title="保存" android:icon="@android:drawable/ic_menu_save" /> <item android:id="@+id/item03" android:title="编辑" android:icon="@android:drawable/ic_menu_edit" /> <item android:id="@+id/item04" android:title="详情" android:icon="@android:drawable/ic_menu_info_details" /> <item android:id="@+id/item05" android:title="删除" android:icon="@android:drawable/ic_menu_delete" /> <item android:id="@+id/item06" android:title="发送" android:icon="@android:drawable/ic_menu_send" /> <item android:id="@+id/item07" android:title="帮助" android:icon="@android:drawable/ic_menu_help" /> </menu>
3 、程序实现上下文菜单
Menu03_Activity.java
package com.iflytek.demo; import android.app.Activity; import android.os.Bundle; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class Menu03_Activity extends Activity { private String data[] = new String[] { "hello", "www.iteye.com", "Android" }; // 定义ListView的显示项 private ListView listView = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.listView = new ListView(this); this.listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, this.data)); super.setContentView(this.listView); super.registerForContextMenu(this.listView); } @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case Menu.FIRST + 1: Toast.makeText(this, "您选择的是“添加联系人”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 2: Toast.makeText(this, "您选择的是“查看详情”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 3: Toast.makeText(this, "您选择的是“删除信息”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 4: Toast.makeText(this, "您选择的是“另存为”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 5: Toast.makeText(this, "您选择的是“编辑”项", Toast.LENGTH_LONG).show(); break; } return false; } @Override public void onContextMenuClosed(Menu menu) { Toast.makeText(this, "上下文菜单关闭了", Toast.LENGTH_LONG).show(); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.setHeaderTitle("信息操作"); menu.add(Menu.NONE, Menu.FIRST + 1, 1, "添加联系人"); menu.add(Menu.NONE, Menu.FIRST + 2, 2, "查看详情"); menu.add(Menu.NONE, Menu.FIRST + 3, 3, "删除信息"); menu.add(Menu.NONE, Menu.FIRST + 4, 4, "另存为"); menu.add(Menu.NONE, Menu.FIRST + 5, 5, "编辑"); } }
4 、配置实现上下文菜单
Menu04_Activity.java
package com.iflytek.demo; import android.app.Activity; import android.os.Bundle; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class Menu04_Activity extends Activity { private String data[] = new String[] { "hello", "www.iteye.com", "Android" }; // 定义ListView的显示项 private ListView listView = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); this.listView = new ListView(this); this.listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, this.data)); super.setContentView(this.listView); super.registerForContextMenu(this.listView); } @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case Menu.FIRST + 1: Toast.makeText(this, "您选择的是“添加联系人”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 2: Toast.makeText(this, "您选择的是“查看详情”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 3: Toast.makeText(this, "您选择的是“删除信息”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 4: Toast.makeText(this, "您选择的是“另存为”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 5: Toast.makeText(this, "您选择的是“编辑”项", Toast.LENGTH_LONG).show(); break; } return false; } @Override public void onContextMenuClosed(Menu menu) { Toast.makeText(this, "上下文菜单关闭了", Toast.LENGTH_LONG).show(); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.setHeaderTitle("信息操作"); super.getMenuInflater().inflate(R.menu.mymenu, menu); } }
Res/ menu/ mymenu
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/item01" android:title="添加联系人" /> <item android:id="@+id/item02" android:title="查看详情" /> <item android:id="@+id/item03" android:title="删除信息" /> <item android:id="@+id/item04" android:title="另存为" /> <item android:id="@+id/item05" android:title="编辑" /> </menu>
5 、子菜单基本实现
Menu05_Activity.java
package com.iflytek.demo; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.SubMenu; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class Menu05_Activity extends Activity { private String data[] = new String[] { "hello", "www.iteye.com", "Android" }; // 定义ListView的显示项 private ListView listView = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.listView = new ListView(this); this.listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, this.data)); super.setContentView(this.listView); super.registerForContextMenu(this.listView); } @Override public boolean onCreateOptionsMenu(Menu menu) { SubMenu fileMenu = menu.addSubMenu("文件"); SubMenu editMenu = menu.addSubMenu("编辑"); fileMenu.add(Menu.NONE, Menu.FIRST + 1, 1, "新建"); fileMenu.add(Menu.NONE, Menu.FIRST + 2, 2, "打开"); fileMenu.add(Menu.NONE, Menu.FIRST + 3, 3, "保存"); editMenu.add(Menu.NONE, Menu.FIRST + 4, 4, "撤消"); editMenu.add(Menu.NONE, Menu.FIRST + 5, 5, "恢复"); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // 判断操作的菜单ID case Menu.FIRST + 1: Toast.makeText(this, "您选择的是“添加联系人”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 2: Toast.makeText(this, "您选择的是“查看详情”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 3: Toast.makeText(this, "您选择的是“删除信息”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 4: Toast.makeText(this, "您选择的是“另存为”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 5: Toast.makeText(this, "您选择的是“编辑”项", Toast.LENGTH_LONG).show(); break; } return false; } }
6 、通过配置实现子菜单
Res/menu/ editmenu.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/item04" android:title="撤消" /> <item android:id="@+id/item05" android:title="恢复" /> </menu>
filemenu.xml
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/item01" android:title="新建" /> <item android:id="@+id/item02" android:title="打开" /> <item android:id="@+id/item03" android:title="保存" /> </menu>
Menu06_Activity.java
package com.iflytek.demo; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.SubMenu; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class Menu06_Activity extends Activity { private String data[] = new String[] { "hello", "www.iteye.com", "Android" }; // 定义ListView的显示项 private ListView listView = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.listView = new ListView(this); this.listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, this.data)); super.setContentView(this.listView); super.registerForContextMenu(this.listView); } @Override public boolean onCreateOptionsMenu(Menu menu) { SubMenu fileMenu = menu.addSubMenu("文件"); SubMenu editMenu = menu.addSubMenu("编辑"); super.getMenuInflater().inflate(R.menu.filemenu, fileMenu); super.getMenuInflater().inflate(R.menu.editmenu, editMenu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // 判断操作的菜单ID case Menu.FIRST + 1: Toast.makeText(this, "您选择的是“添加联系人”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 2: Toast.makeText(this, "您选择的是“查看详情”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 3: Toast.makeText(this, "您选择的是“删除信息”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 4: Toast.makeText(this, "您选择的是“另存为”项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST + 5: Toast.makeText(this, "您选择的是“编辑”项", Toast.LENGTH_LONG).show(); break; } return false; } }
二、隐式抽屉组件: SlidingDrawer
SlidingDrawerActivity.java
package com.iflytek.demo; import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.SlidingDrawer; import android.widget.SlidingDrawer.OnDrawerCloseListener; import android.widget.SlidingDrawer.OnDrawerOpenListener; import android.widget.SlidingDrawer.OnDrawerScrollListener; import android.widget.Toast; public class SlidingDrawerActivity extends Activity { private String data[] = new String[] { "hello", "www.iteye.com", "Android" }; // 定义ListView的显示项 private ListView listView = null; private SlidingDrawer slidingDrawer = null; private ImageView handle = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); LinearLayout layout = (LinearLayout) super.findViewById(R.id.content); // 向里面保存ListView this.listView = new ListView(this); this.listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, this.data)); layout.addView(this.listView); this.slidingDrawer = (SlidingDrawer) super .findViewById(R.id.slidingdrawer); this.handle = (ImageView) super.findViewById(R.id.handle); this.slidingDrawer .setOnDrawerOpenListener(new OnDrawerOpenListenerImpl()); this.slidingDrawer .setOnDrawerCloseListener(new OnDrawerCloseListenerImpl()); this.slidingDrawer .setOnDrawerScrollListener(new OnDrawerScrollListenerImpl()); } private class OnDrawerOpenListenerImpl implements OnDrawerOpenListener { @Override public void onDrawerOpened() { SlidingDrawerActivity.this.handle .setImageResource(R.drawable.ico_right); } } private class OnDrawerCloseListenerImpl implements OnDrawerCloseListener { @Override public void onDrawerClosed() { SlidingDrawerActivity.this.handle .setImageResource(R.drawable.ico_left); } } private class OnDrawerScrollListenerImpl implements OnDrawerScrollListener { @Override public void onScrollEnded() { Toast.makeText(SlidingDrawerActivity.this, "窗口拖动结束。", Toast.LENGTH_SHORT).show(); } @Override public void onScrollStarted() { Toast.makeText(SlidingDrawerActivity.this, "正在拖动窗口。", Toast.LENGTH_SHORT).show(); } } }
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <SlidingDrawer android:id="@+id/slidingdrawer" android:layout_width="fill_parent" android:layout_height="fill_parent" android:content="@+id/content" android:handle="@+id/handle" android:orientation="horizontal" > <ImageView android:id="@+id/handle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ico_left" /> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/content" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > </LinearLayout> </SlidingDrawer> </LinearLayout>
发表评论
-
This version of ADT requires android SDK
2013-07-25 16:45 1597Windows系统下用Eclipse开发工具开发An ... -
Android学习13-----网络通信(4) WebView组件
2012-11-27 09:18 2520WebView 是一个开发的浏览 ... -
Android学习13-----网络通信(3) 与Web Service进行通讯
2012-11-26 09:40 1896这里我们的WebService使用xFire开发。 ... -
Android学习13-----网络通信(2) 与Socket交换数据
2012-11-23 09:11 3310对于网络开发而言,最常用的交互模式:WebService、We ... -
Android学习13-----网络通信(1) 与WEB服务器交换数据
2012-11-22 09:11 2196与Web服务器交互: 如果手机要想与 web ... -
Android学习11-----多媒体技术(5) 媒体录制
2012-11-16 08:10 1896在Android中通过android.media ... -
Android学习11-----多媒体技术(4) 使用摄像头拍照,多点触控
2012-11-15 08:37 2891一、摄像头拍照 前面说媒体播放 时了解了 ... -
Android学习11-----多媒体技术(3) 媒体播放
2012-11-14 08:25 1417在 Androi ... -
Android学习11-----多媒体技术(2) Animation
2012-11-13 08:47 1998一、渐变动画, Tweened Animation ... -
Android学习11-----多媒体技术(1) 绘制简单图形,Bitmap,Matrix
2012-11-12 08:48 1626一、绘制简单图 ... -
Android学习12-----手机服务(4) 传感器
2012-11-19 09:13 2023传感器一般用于游戏中,在 Android 系统中为 ... -
Android学习12-----手机服务(1) 取得电池电量和声音服务:AudioManager
2012-11-18 11:18 3508一、取得电池电量信息 ... -
Android学习10-----Android组件通信 (8) 桌面显示组件:AppWidget
2012-11-02 08:36 2040一、 AppWidget 在使用 Androi ... -
Android学习10-----Android组件通信 (7) 广播机制:Broadcast
2012-11-01 08:43 1518一、 广播: 广播也是一种信息的发送机制,在 ... -
Android学习10-----Android组件通信 (6) PendingIntent
2012-10-31 08:20 2266Intent 的主要功能是表示用 ... -
Android学习10-----Android组件通信 (5) Service
2012-10-30 08:25 1740Service 基本组成: ... -
Android学习10-----Android组件通信 (4) 消息机制
2012-10-29 08:22 1555在 Android 操作系统中存在着消息队列的操作 ... -
Android学习10-----Android组件通信 (3) ActivityGroup
2012-10-26 08:23 2322导航栏在 Android 中的应用是很常见的,前面 ... -
Android学习10-----Android组件通信 (2) Activity生命周期
2012-10-25 08:16 1287Activity 是整个 Android 平台的基 ... -
Android学习10-----Android组件通信 (1) Intent
2012-10-24 08:43 2015在一个项目之中,会由多个 Activity ...
相关推荐
在Android开发中,SlidingDrawer是早期用于实现滑动抽屉效果的一个组件,它允许用户通过拖动一个可隐藏的视图来显示或隐藏内容。这个组件在Android API Level 8(即Android 2.2 Froyo)及之前版本中被广泛使用,但在...
在Android操作系统中,Intent是一种强大的组件间通信机制,它用于启动其他应用程序组件,如Activity、Service,甚至BroadcastReceiver。Intent不仅能够传递数据,还能在应用的不同部分之间建立连接,是Android开发中...
这个名为"Android-API-3.rar"的压缩包文件,显然包含了针对Android API的详细中文文档,是学习和理解Android API的绝佳资源。Android API Level 3通常指的是Android 1.1版本,这是Android系统早期的一个里程碑,为...
Intent在Android开发中扮演着至关重要的角色,它是四大组件(Activity、Service、BroadcastReceiver和ContentProvider)间通信的关键。Intent不仅用于应用间的交互,也可以在同一个应用内的不同组件之间传递信息。...
### Android基础知识及常用控件详解 #### 一、Android应用基础...以上就是关于Android基础知识及常用控件的详细介绍,这些控件在实际开发中非常实用,掌握了它们的使用方法后,可以更好地构建出丰富的用户界面和功能。
iyón 模块隐式调用技术主要涉及网络通信与音视频处理,通过 Winsock 控件实现网络通信,以及 VC++ 编写的 DLL 文件处理语音功能。Winsock 控件是 Windows 下进行网络编程的重要工具,它提供了标准的套接字(Socket...
s/yaffs2/yaffs_vfs.c: In function 'yaffs_read_super': fs/yaffs2/yaffs_vfs.c:2383:2: error: implicit declaration of function 'get_sb_bdev' fs/yaffs2/yaffs_vfs.c: At top level: fs/yaffs2/yaffs_vfs.c:...
- Activity是Android应用中最基本的组件之一,理解其生命周期对于正确处理应用状态至关重要。 - 关键方法如`onCreate()`, `onStart()`, `onResume()`, `onPause()`, `onStop()` 和 `onDestroy()`等必须熟悉。 2. ...
Intent是Android系统中的一种核心机制,它用于在应用程序的不同组件之间传递消息,实现组件间的通信。Intent不仅可以启动或启动服务,还可以传递数据。下面是对Intent的详细总结: 1. **Intent的基本类型** - 显式...
### Android显示意图和隐式意图的区别 在Android开发过程中,`Intent`是应用内部各组件之间进行通信的重要机制之一。通过`Intent`可以启动Activity、Service等组件,并且可以在组件间传递数据。根据使用场景的不同...
1. **Activity生命周期**:源码中会展示如何在各个生命周期方法(如onCreate(), onStart(), onResume(), onPause(), onStop()和onDestroy())中正确处理事件,理解Activity是如何在用户交互和系统需求下进行状态切换...
在Android系统中,深入理解和分析代码是提升开发者技能的关键步骤。这个"android-code-analysis.rar"压缩包显然包含了一些关于Android机制原理和关键代码分析的文章,旨在帮助开发者更好地理解和优化他们的应用。...
6. **Intent Filters**:在AndroidManifest.xml中,通过intent-filter标签定义组件能响应哪些Intent,包括Action、Category和Data,使得其他应用可以通过隐式Intent调用组件。 7. **startActivity()** 和 **...
10. **Android组件间通信**:Intent的使用,包括显式Intent和隐式Intent,以及IntentFilter。 11. **第三方库**:了解流行库如RxJava、LiveData、Dagger、Kotlin Coroutines等,并能解释其作用和使用场景。 12. **...
在Android应用开发中,Activity是构成应用程序的基本组件之一,它代表了用户与应用交互的界面。当需要在不同Activity之间跳转时,Android提供了两种Intent类型:显式Intent和隐式Intent。本篇将深入探讨如何使用隐式...
在每章的讲解中,它会让你通过一系列示例项目逐步掌握Android中的各种新功能和技术,助你取得最圆满的学习效果。本书所介绍的各个应用实例简明扼要且极具实用价值,它们覆盖了Android 1.0的所有基本功能和高级功能...
在Android系统中,广播(Broadcast)是一种非常重要的组件,它使得应用程序之间能够进行无须预先知道接收方的情况下发送消息。这种通信方式是基于事件驱动的,使得应用可以在系统或者其他应用触发特定事件时得到通知...
### Android基础学习知识点详解 #### 第一讲:Android开发环境的搭建 - **Android简介**: - Android是一个开源的操作系统,主要用于移动设备。 - 基于Linux内核,支持多种硬件平台。 - 开发语言主要是Java,也...