android中 init()

在Android系统中,init()方法是初始化用户界面及组件的关键。本文通过一个实例展示了在MoreActivity类中如何使用init()来设置布局及监听器。在Linux中,init作为用户空间的第一个程序,负责建立与内核交互的目录。了解init对于深入理解Android系统和Linux内核至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


void init() {

setContentView(R.layout.activity_more);

 目前Linux有很多通讯机制可以在用户空间和内核空间之间交互,例如设备驱动文件(位于/dev目录中)、内存文件(/proc、/sys目录等)。Linux的一切都是以文件的形式存在的,与内核空间交互的文件都在用户空间,所以在Linux内核装载完,需要首先建立这些文件所在的目录。完成这些工作的程序就是init。Init是一个命令行程序。其主要工作之一就是建立这些与内核空间交互的文件所在的目录。当Linux内核加载完后,要做的第一件事就是调用init程序,也就是说,init是用户空间执行的第一个程序。Android本质上就是一个基于Linux内核的操作系统。

借用美团为例,看一下init的应用

public class MoreActivity extends BaseActivity implements OnClickListener{
private Button button_aboutmeituan,
button_messageremind, button_shareset;
   private ImageView imageview_picturemode;
   private LinearLayout linearlayout_picturemode,linearlayout_emptybuffer,linearlayout_checkupdate;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_more);
}
void init() {
setContentView(R.layout.activity_more);
button_aboutmeituan = (Button) findViewById(R.id.button_meituan);
linearlayout_picturemode =  (LinearLayout) findViewById(R.id.linearlayout_picturemode);
imageview_picturemode = (ImageView) findViewById(R.id.imageview_picturemode);
button_messageremind = (Button) findViewById(R.id.button_messageremind);
linearlayout_emptybuffer =  (LinearLayout) findViewById(R.id.linearlayout_emptybuffer);
button_shareset = (Button) findViewById(R.id.button_shareset);
linearlayout_checkupdate = (LinearLayout) findViewById(R.id.linearlayout_inspectupdate);
button_aboutmeituan.setOnClickListener(this);
linearlayout_picturemode.setOnClickListener(this);
imageview_picturemode.setOnClickListener(this);
button_messageremind.setOnClickListener(this);
linearlayout_emptybuffer.setOnClickListener(this);
button_shareset.setOnClickListener(this);
linearlayout_checkupdate.setOnClickListener(this);
}
int i = 1;
public void onClick(View v) {
switch (v.getId()) {
case R.id.button_meituan:
Toast.makeText(this, "我们将会继续完善!", Toast.LENGTH_SHORT).show();
break;
case R.id.linearlayout_picturemode:
case R.id.imageview_picturemode:
i = -i;
if (i == 1) {
imageview_picturemode
.setBackgroundResource(R.drawable.bg_settings_drag_off);
} else {
imageview_picturemode
.setBackgroundResource(R.drawable.bg_settings_drag_on);
}
break;
case R.id.button_messageremind:
Toast.makeText(this, "此功能正在完善!", Toast.LENGTH_SHORT).show();
break;
case R.id.linearlayout_emptybuffer:
Toast.makeText(this, "缓存已清空", Toast.LENGTH_SHORT).show();
break;
case R.id.button_shareset:
startActivity(new Intent(this, SharesetActivity.class));
break;
case R.id.linearlayout_inspectupdate:
Toast.makeText(this, "已是最新版本!", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
}具体需要了解具体的,除了Linux的基本结构要了解外,Linux应用层的API需要熟悉。

详细博客推荐为http://www.cnblogs.com/nokiaguy/archive/2013/04/14/3020774.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洋葱ycy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值