AIDL: Android Interface Definition Language (android 接口定义语言)
可以使用 AIDL 定于跨进程的客户端与服务端通信(IPC)的编程接口.
在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。
为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。
SSL目前的版本是3.0,被IETF(Internet Engineering Task Force)定义在RFC 6101中,
之后IETF对SSL 3.0进行了升级,于是出现了TLS(Transport Layer Security) 1.0,定义在RFC 2246。实际上我们现在的HTTPS都是用的TLS协议,
但是由于SSL出现的时间比较早,并且依旧被现在浏览器所支持,因此SSL依然是HTTPS的代名词,但无论是TLS还是SSL都是上个世纪的事情,SSL最后一个版本是3.0,
今后TLS将会继承SSL优良血统继续为我们进行加密服务。目前TLS的版本是1.2,定义在RFC 5246中,暂时还没有被广泛的使用 ()
首先是简单使用1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32class ListViewActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_list_view)
var list = arrayListOf(Person("novia", 24), Person("justin", 29), Person("doudou", 1))
var adapter = MyListAdapter(list, this)
listView.adapter = adapter
}
class MyListAdapter(var list: ArrayList<Person>, var context: Context) : BaseAdapter() {
override fun getCount(): Int {
return list.size
}
override fun getItem(position: Int): Person {
return list.get(position);
}
override fun getItemId(position: Int): Long {
return list.get(position).hashCode().toLong()
}
override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
var view = LayoutInflater.from(context).inflate(R.layout.item_listview, parent, false)
view.findViewById<TextView>(R.id.item_name).setText(getItem(position).name)
view.findViewById<TextView>(R.id.item_age).setText("" + getItem(position).age + "岁")
return view;
}
}
data class Person(var name: String, var age: Int)
}