Kotlin开发安卓应用
Kotlin基本语法
语言都是相同的,kotlin需要学习的语法知识点:
- 高阶函数
- map ,flapMap
- lambda表达式
- ?:三目运算符
- when表达式,另外格式的条件语句
- step 循环语句的步数
- until 循环的条件
- down to 循环倒序
- delegate -> by XXDelagete
- 单例
- 判空 -- swift很像
- 智能? ! -- swift很像
Kotlin搭建安卓项目的项目清单
app
- manifests
- 项目信息,包名,icon ,名称,类似AppDelegate+plist
- java && kotlin
- Activity -- UIViewController
- class -- Object,Model
- res
- drawable
- layout -- customView.frame
- menu
- mipmap -- asset.image
- values -- Stuct,ColorManager ,StringManager ,StylesManager -- 主题配置
Gradle Scripts
- build.gradle 类似iOS Import.File,导入以来库,文件
Kotlin调用UIframework
- Button UIButton
- ImageButton
- FloatingActionButton
- ToolBar
- checkBox 复选框
- ImageView UIImageView
- VideoView 视频播放
- DatePicker UIPicker
- TimePicker UIPicker
- RadioButton 单选框
- CheckedTextView UILabel
- TextClock
- Spinner 下拉框,用于筛选位置
- ProgressBar 圆形进度条
- ProgressBar(Hor) 水平进度条
- SeekBar 水平拖拽条 UIProgress
- SeekBar(Discrete) 水平拖拽条但指示在上方
- RatingBar 星形状Bar按钮
- Switch UISwitch
- Space 适配使用,类似iOS中弹簧控件,但iOS中弹簧控件只用于底部toolBar
- QuickContactBadge 应该是快速访问通讯的一个组件,没使用了解
- TextView UITextView
- Plain ,Password ,Password(Numberic) ,E-mail ,Phone ..etc..TextView分类,为那种类型的输入条件限制
- RadioGroup 单选框组
- ListView UITableView
- GridView UICollectionView
- ScrollView 竖直方向滚动
- ScrollView(Hor) 水平方向滑动 UIScrollView
- TabHost 顶部Tab栏
- SearchView UISearchVC
- WebView UIWebView
- ViewPager 应该是分页控制器类似ChildVC,没试验
Kotlin网络层
GJson一个框架解析json
目前只看过一个网络层的例子,还不是那么清楚实现原理
异步请求api -> uiThread 主线程刷新
async()
{
val url: String = "https://www.baidu.com/"
//在子线程请求网络数据
val result: String = Request(url).run()
//在主线程中更新ui
uiThread{
Log.i("MainActivity",result)
}
}
请求实现
class Request(val url: String)
{
//https://www.baidu.com/
//网络请求运行在子线程中
public fun run():String
{
val jsonString: String = URL(url).readText()
Log.i("Request",jsonString)
return jsonString
}
}