首页 > 评测 > Android Things 之八——在树莓派3上探索GUI初步
Android Things 之八——在树莓派3上探索GUI初步
- [导读]
- Android Things是有GUI的。虽然前面介绍Android Things时,我们都直接使用了Android Studio的Logcat窗口来输出相关的信息,但是从现在起,我们开始来探索Android Things的GUI世界。
class MyAdapter extends RecyclerView.Adapter
private List
@NonNull
@Override
public MyHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(android.R.layout.simple_list_item_1, parent, false);
return new MyHolder(itemView);
}
@Override
public void onBindViewHolder(@NonNull MyHolder holder, int position) {
String name = mList.get(position).toString();
holder.mTextView.setText(name);
}
@Override
public int getItemCount() {
return mList.size();
}
public void setAdapter(List
mList = names;
notifyDataSetChanged();
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerView = findViewById(R.id.recyclerview);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
List
PeripheralManager manager = PeripheralManager.getInstance();
peripherals.addAll(manager.getPwmList());
peripherals.addAll(manager.getI2cBusList());
peripherals.addAll(manager.getSpiBusList());
peripherals.addAll(manager.getGpioList());
MyAdapter myAdapter = new MyAdapter();
mRecyclerView.setAdapter(myAdapter);
myAdapter.setAdapter(peripherals);
}
}
获取外设接口名称的方法可以使用PeripheralManager.getxxxList()来实现,只要将xxx替换为Pwm、Gpio等即可,该函数族返回的是接口的字符串列表。将这些设备字符串添加到一个列表中保存,然后传递给RecyclerView.Adapter。
RecyclerView主要包括两个组件,一个是ViewHolder,另一个是Adapter。
RecyclerView的核心思想是使用可复用的组件来显示不同的内容,不管Adapter内包含有多少数据项,在屏幕上显示的组件就只有那么几个,这样节省了资源,提高了显示效率。
ViewHolder是一个独立显示的单元,每个显示的数据都占据一个ViewHolder。从名字也可以猜测,这个ViewHolder只是一个容器,里面可以包含独立的Layout信息,也就是说可以在ViewHolder中包含若干显示组件,用来显示完整的数据项信息。
Adapter除了包含数据项以外,还用来检索需要显示的信息,并最终将这些数据显示到指定的ViewHolder中,当Adapter中的数据项发生变化后,需要使用notifiyDataSetChanged()来通知,以便更新显示的内容。
最后显示的内容如前图所示,以列表的形式显示了RPI3中所有可用的外设接口资源!
只要熟悉Android编程,在 Android Things上进行GUI设计还是很容易的。另外这里只获取设备接口名称,而没有真实使用外设,所以不需要申请外设权限,程序也能正常运行!
- 本文系21ic原创,未经许可禁止转载!
网友评论
- 联系人:巧克力娃娃
- 邮箱:board@21ic.com
- 我要投稿
-
欢迎入驻,开放投稿
-
人均百万?英伟达中国员工收入曝光! 2024-08-29
-
《黑神话:悟空》玩家硬盘升级攻略:提升游戏体验,畅享3A大作 2024-08-29
-
数睿数据参加《系统与软件工程 低代码开发平台通用技术要求》国家标准编制 2024-08-29
- NRF52810蓝牙数字耳机找人定制
预算:¥30005天前
- 125KW模块式PCS软硬件外包开发
预算:¥1100000015小时前
- 12V汽车启动电源项目BMS设计
预算:¥50000023小时前
- 数据可视化软件 开发
预算:¥5000023小时前
- PLC项目调试修改
预算:¥100001天前
- 起动电机控制器开发
预算:¥1100001天前