JavaEE实训_2021/5/31

2022-11-30 20:30:56 浏览数 (2)

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

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

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

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

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

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

代码语言:javascript复制
		//位于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

0 人点赞