JavaEE实训_2021/5/31

【智能家居】
主要任务:
1.Linux服务器部署
2.上位机(控制端)程序开发

【集成开发环境】
Eclipse,原因是方便配置无需下载sdk。
AS也可以。

Eclipse启动程序的路径大概是:
你的路径\adt-bundle-windows-x86_64-20140321\adt-bundle-windows-x86_64-20140321\adt-bundle-windows-x86_64-20140321\eclipse\eclipse.exe

【通信原理】
Socket通信:
服务器使用C语言、App使用的Java。
服务器使用结构体通信,Java没有结构体。
怎么办呢?

【项目结构】
src文件夹:存放java代码的文件夹
gen文件夹:系统自动生成的java文件,不要修改。
bin文件夹:程序编译运行后,生成的apk安装包在此文件夹下生成。
libs文件夹:存放jar包的文件夹(本次实训会引入第三方的jar包)
res文件夹:主流资源文件夹
drawable文件夹:存放图片
layout文件夹:布局文件夹
AndroidManifest.xml:清单文件,用于配置项目参数

【新建项目的要求】
1.进入到src—包名—MainActivity.java文件中,删部分代码:

		//位于onCreate方法中
		if (savedInstanceState == null) {
            getFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment())
                    .commit();
        }

 @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    /**
     * A placeholder fragment containing a simple view.
     */
    public static class PlaceholderFragment extends Fragment {

        public PlaceholderFragment() {
        }

        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_main, container, false);
            return rootView;
        }
    }
  1. 在MainActivity.java文件中的onCreate方法里,修改setContentView的参数为:
    R.layout.activity_main → R.layout.fragment_main

3.删除layout文件夹中的activity_main.xml

4.选中项目,鼠标右键—Run As — Android Application

【自动补全快捷键】
Eclipse Alt + /
AS Alt + Enter

【布局】
//给控件起id
android:id="@+id/text1"

//宽度
android:layout_width=“match_parent”
//高度
android:layout_height=“match_parent”
宽度和高度的可选值:
1.match_parent 匹配父级
2.wrap_content 匹配子级
3.fill_parent 不用,等同match_parent
4.可以使用固定数值,单位是dp

//背景
android:background="#56BB34"

内边距 padding
android:padding=“50dp”
另外可以单独设置上下左右的内边距

外边距 margin
android:layout_margin=“40dp”
另外可以单独设置上下左右的外边距

线性布局(LinearLayout)
控件横着或者竖着排成一排。

//方向
android:orientation=“horizontal”
可选值:
horizontal 水平的
vertical 垂直的

//子控件的重力方向
android:gravity=“right|center_vertical”
可选值:
left(左,默认值)、top(上,默认值)、right(右)、bottom(底)、
center_horizontal(水平中心)、center_vertical(垂直中心)、center(正中心)

相对布局(RelativeLayout)
某个控件相对某个参照物在某个位置。
参照物必须要有id

//在text1控件的右边
android:layout_toRightOf="@id/text1"

//在text1控件的左边
android:layout_toLeftOf="@id/text1"

//在text1控件的上面
android:layout_above="@id/text1"

//在text1控件的下面
android:layout_below="@id/text1"

//对齐text1控件的四个方向
android:layout_alignRight="@id/text1"
android:layout_alignBottom="@id/text1"
android:layout_alignLeft="@id/text1"
android:layout_alignTop="@id/text1"

//对齐父控件的四个方向
android:layout_alignParentBottom=“true”
android:layout_alignParentTop=“true”
android:layout_alignParentLeft=“true”
android:layout_alignParentRight=“true”

//位于父控件中心(正中心、水平中心、垂直中心)
android:layout_centerInParent=“true”
android:layout_centerHorizontal=“true”
android:layout_centerVertical=“true”

【布局嵌套】
一个布局可以成为另一个布局的子布局,内部的布局整体相当于外部的布局中的一个控件。
从理论上讲,嵌套可以任意层,但是在实际开发中建议能不嵌套就不嵌套,因为嵌套会降低程序中的执行效率。

【比例划分】
可以使用线性布局+权重属性两者配合实现控件宽度和高度的比例。

如果线性布局是横向的,那么只能分子控件的宽度;
如果线性布局是纵向的,那么只能分子控件的高度。
上面建议自己想想,不建议死记。

建议给宽度设置权重就把宽度设置为0dp,
建议给高度设置权重就把高度设置为0dp。

//权重
android:layout_weight=“1”

【对齐代码】
Eclipse Ctrl + Shift + F,前提是不要使用国产输入法。
AS Ctrl + Alt + L

【补充视频】
如果感觉今天复习的速度偏快,可以参考下面我的授课视频,速度非常慢。

链接:https://pan.baidu.com/s/1oH45VWBh0ZozXv00ze5H6Q
提取码:lrhg
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V4的分享

posted @ 2022-11-21 18:54  TwcatL_tree  阅读(5)  评论(0编辑  收藏  举报