美文网首页
原生Android之路:第二式

原生Android之路:第二式

作者: tarscoding | 来源:发表于2017-08-15 16:18 被阅读9次
编程学习方法之一就是:先运行起来
私以为,当下软件工程思想是有一些共性的,如果有过web开发经验,应该知道经典的MVC模式,不了解的请往下看 
{ 
    模型 Model, 
    视图 View,�
    控制器 Controller
 }
这是一种软件工程方法,是对复杂逻辑或者业务的解耦,好处是逻辑清晰,便于管理.
(番外:傅里叶变换,以及分型学中都揭示了复杂世界是由 [简洁] 的法则产生和运作的.
[ 简洁即优美 ]
[ 复杂不难,难的是简洁 ]
那么无论大小的软件工程项目,都可以分解为若干 弱耦合,相对简洁的小模块,
分而治之,简洁而强力的方法论
)
正题:
Model一般为数据模型,或者说是本质上程序操作的真实对象,
(程序操作对象 ===> 数据,
然而逻辑的处理等是也是为了操作 [数据] 而存在的, 这是面向过程,面向对象,或者说是当下流行编程方式的本质,
其期望是数据,或者说是围绕数据编程
而函数式编程,操作的本质是 [函数],通俗的讲是 方法
函数式编程的期望对象,不是数据,而是 [处理机] ,数据作为流动进[处理机]的驱动力,被[处理机]加工过之后输出.
函数式编程是围绕 [ 处理机 ]编程,为进一步降低耦合,以及加强复用,
较为形象理解是,解决数学题的时候,前者为了解题,关注的视角重心是得到最终数据,
一切围绕 正确的 前置值 过程值 最终值 而采用的方法
后者是, 先得到解决此类问题的 公理  或者说公式 或者说可以被归纳的简洁而强力方法论,
然后把届时面对的具体数据(值)流带入公理中,得到正确的值,只要模式识别的好 那很多问题解决的速度和强壮性会有不一样的提升
面向数据,和函数式编程,是一种较为抽象的方法思想,但思想是人类强大之所在,不是吗?
)

View 视图
模型Model和数据的具象化展现,或者说是UI,可视化的对象
一般包含多种图片,样式,字体等等资源resources

Controller 控制器
逻辑控制体,逻辑描述或者说是业务的实现,一般在此中实现
<!-----------------------------------------------------------------!>
而Android开发中,四大组件也有此思想的体现,res文件夹放置视图文件,main文件夹放置逻辑...

那就从创建第一个Activity活动开始,
创建一个空Activity
右键main/java/xxx.xxxx.activitytest目录
->New->Activity->Empty Activity
image.png
按需求手动指定名字 例如 : FirstActivity
Activity Name:   FirstActivity
因为第一次开发,为了解原理,建议勾选掉Generrate Layout File
image.png
返回代码中,可以看到,@Override 这段代码,
此段代码表示:
onCreate函数是父类固有函数这是对父类函数的重写,
如果不写,编译器会以为此onCreate函数是一个新函数,
通俗的讲,就是 把Android框架自有函数进行 [ 定制化 ]
image.png image.png
// super在很多语言中都有实现:
// super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类
// 下列代码的意思是使用父类中onCreate方法,对savedInstanceState操作
super.onCreate(savedInstanceState);
image.png
下面创建视图,Layout布局,
右键res,New->Directory
名字为layout,布局
右键layout,New->Layout resource file
image.png image.png image.png
在IDE界面中,下面的标签切换到Text,可见代码
image.png
// 在视图上添加一个按钮
<Button
        android:id="@+id/button_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:text="Button 1"
        />
image.png
// 回到Activity活动代码中,以加载视图
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_layout);
    }
}
image.png
最后,在AndroidMainfest中注册活动,使其生效
image.png
// 其中 <activity>标签指明了活动 name:,显示内容 label:
// <intent-filter>指明该活动为主活动  acton.MAIN
// <category>指明此活动为登录时显示的活动 category.LAUNCHER
<activity android:name=".MainActivity"
            android:label="The main Activity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter> 
 </activity>
image.png

运行模拟器后,显示的结果是

image.png
第三式会实现几个小控件

注:此日志,记录个人学习心得,原书真的不错,值得收藏 :<<第一行代码:Android>>

相关文章

网友评论

      本文标题:原生Android之路:第二式

      本文链接:https://www.haomeiwen.com/subject/orsmrxtx.html