JavaEE实训(2)

简介: JavaEE实训

【智能家居】
主要任务:
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;
    }
}

在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的分享

目录
相关文章
|
5月前
|
Java 关系型数据库 MySQL
ssm的大学生竞赛活动平台。Javaee项目。
ssm的大学生竞赛活动平台。Javaee项目。
|
5月前
|
Java 关系型数据库 MySQL
基于SSM的教学管理系统(有报告)。Javaee项目。
基于SSM的教学管理系统(有报告)。Javaee项目。
|
5月前
|
Java 关系型数据库 MySQL
基于SSM的选题管理系统(有报告)。Javaee项目。
基于SSM的选题管理系统(有报告)。Javaee项目。
|
5月前
|
搜索推荐 Java 关系型数据库
0016Java程序设计-springboot幼儿园管理系统
0016Java程序设计-springboot幼儿园管理系统
33 0
|
7月前
|
Java 数据安全/隐私保护 索引
Java 毕业设计,基于 SpringBoot 的前后端分离的高校招生管理系统(二)
Java 毕业设计,基于 SpringBoot 的前后端分离的高校招生管理系统
|
2月前
|
存储 前端开发 Java
【JavaEE进阶】 图书管理系统开发日记——壹
【JavaEE进阶】 图书管理系统开发日记——壹
|
2月前
|
XML 前端开发 Java
【JavaEE进阶】 图书管理系统开发日记——陆
【JavaEE进阶】 图书管理系统开发日记——陆
|
7月前
|
存储 Java 程序员
Java 毕业设计,基于 SpringBoot 的前后端分离的高校招生管理系统(一)
Java 毕业设计,基于 SpringBoot 的前后端分离的高校招生管理系统
|
10月前
|
存储 搜索推荐 JavaScript
【毕业设计之java系列】基于springboot学生社团信息管理系统
【毕业设计之java系列】基于springboot学生社团信息管理系统
274 0
|
5月前
|
Java 关系型数据库 MySQL
基于SSM的高校毕业设计(选题)管理系统。Javaee项目。
基于SSM的高校毕业设计(选题)管理系统。Javaee项目。