java程序设计案例教程课后答案胡巧多,listview和LitePal2

<TextView

android:id=“@+id/username1”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_weight=“1”

android:gravity=“center”

android:textSize=“20dp”

android:text=“学号”/>

<TextView

android:id=“@+id/name1”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_weight=“1”

android:gravity=“center”

android:textSize=“20dp”

android:text=“姓名”/>

<TextView

android:id=“@+id/age1”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_weight=“1”

android:gravity=“center”

android:textSize=“20dp”

android:text=“年龄”/>

<ListView

android:id=“@+id/findAll”

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:layout_marginTop=“10dp”

android:layout_marginBottom=“10dp”/>

效果图:

item.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:orientation=“horizontal”>

<TextView

android:id=“@+id/tv_username”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_weight=“1”

android:gravity=“center”

android:textSize=“15dp”/>

<TextView

android:id=“@+id/tv_name”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_weight=“1”

android:gravity=“center”

android:textSize=“15dp”/>

<TextView

android:id=“@+id/tv_age”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_weight=“1”

android:gravity=“center”

android:textSize=“15dp”/>

Student.java要继承LitePalSupport和实现Serializable类。

package com.example.listviewdemo01.model;

import java.io.Serializable;

import org.litepal.crud.LitePalSupport;

public class Student extends LitePalSupport implements Serializable {

private Integer id;

private String username;

private String name;

private Integer age;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public Student(Integer id, String username, String name, Integer age) {

super();

this.id = id;

this.username = username;

this.name = name;

this.age = age;

}

public Student() {

super();

}

}

activity_edit.xml

<LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”

xmlns:tools=“http://schemas.android.com/tools”

android:id=“@+id/LinearLayout1”

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:orientation=“vertical”

android:layout_margin=“20dp”

tools:context=“ r e l a t i v e P a c k a g e . {relativePackage}. relativePackage.{activityClass}” >

<LinearLayout

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:orientation=“horizontal”>

<TextView

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:layout_weight=“4”

android:gravity=“center”

android:text=“学号:” />

<EditText

android:id=“@+id/username”

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:hint=“学号”

android:inputType=“number”

android:layout_weight=“1”/>

<LinearLayout

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:orientation=“horizontal”>

<TextView

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:layout_weight=“4”

android:gravity=“center”

android:text=“姓名:” />

<EditText

android:id=“@+id/name”

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:hint=“姓名”

android:inputType=“text”

android:layout_weight=“1”/>

<LinearLayout

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:orientation=“horizontal”>

<TextView

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:layout_weight=“4”

android:gravity=“center”

android:text=“年龄:” />

<EditText

android:id=“@+id/age”

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:hint=“年龄”

android:inputType=“number”

android:layout_weight=“1”/>

<LinearLayout

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:orientation=“horizontal” >

<Button

android:id=“@+id/button1”

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:layout_weight=“1”

android:text=“保存” />

<Button

android:id=“@+id/button2”

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:layout_weight=“1”

android:text=“删除” />

EditActivity.java

package com.example.listviewdemo01;

import org.litepal.LitePal;

import com.example.listviewdemo01.model.Student;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

public class EditActivity extends Activity implements OnClickListener {

private EditText username;

private EditText name;

private EditText age;

private Button button1;

private Button button2;

private Student model = new Student();

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_edit);

username = (EditText) findViewById(R.id.username);

name = (EditText) findViewById(R.id.name);

age = (EditText) findViewById(R.id.age);

button1 = (Button) findViewById(R.id.button1);

button2 = (Button) findViewById(R.id.button2);

button1.setOnClickListener(this);

button2.setOnClickListener(this);

Intent intent = getIntent();

//取出请求绑定的参数

Bundle bundle = intent.getExtras();

model = (Student) bundle.get(“model”);

name.setText(model.getName());

username.setText(model.getUsername());

try {

age.setText(model.getAge()+“”);

} catch (Exception e) {

age.setText(“”);

}

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.button1:

//获得焦点

//edit1.requestFocus();

String name1 = name.getText().toString();

String username1 = username.getText().toString();

Integer age1 = Integer.parseInt(age.getText().toString());

if(model.getId() != null){

System.out.println(model.getId());

model = LitePal.find(Student.class, model.getId());

}

model.setName(name1);

model.setUsername(username1);

model.setAge(age1);

model.save();

finish();

break;

case R.id.button2:

Integer id = model.getId();

//删除

LitePal.delete(Student.class, id);

finish();

break;

default:

break;

}

}

}

MainActivity.java

package com.example.listviewdemo01;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import org.litepal.LitePal;

import com.example.listviewdemo01.model.Student;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.ListView;

import android.widget.SimpleAdapter;

public class MainActivity extends Activity implements OnClickListener, OnItemClickListener {

private Button sub;

private ListView list;

private EditText username;

private EditText name;

private EditText age;

private Student model = new Student();

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//新建数据库

LitePal.getDatabase();

list = (ListView) findViewById(R.id.findAll);

sub = (Button) findViewById(R.id.sub);

username = (EditText) findViewById(R.id.username);

name = (EditText) findViewById(R.id.name);

age = (EditText) findViewById(R.id.age);

sub.setOnClickListener(this);

list.setOnItemClickListener(this);

fun();

}

@Override

protected void onResume() {

fun();

super.onResume();

}

private void fun() {

//链接数据库,操作数据库

SimpleAdapter adapter = getAdapter();

list.setAdapter(adapter);

}

private SimpleAdapter getAdapter() {

List stu = LitePal.findAll(Student.class);

List<HashMap<String, Object>> list1 = new ArrayList<HashMap<String, Object>>();

//把数据放到map中

for(Student s : stu){

HashMap<String, Object> m = new HashMap<String, Object>();

m.put(“id”, s.getId());

m.put(“username”, s.getUsername());

m.put(“name”, s.getName());

m.put(“age”, s.getAge());

list1.add(m);

}

SimpleAdapter adapter = new SimpleAdapter(

//容器

this,

//数据

list1,

//xml文件位置

R.layout.item,

//字段名

new String[]{“username”, “name”, “age”},

//xml文件中的字段名

new int[]{R.id.tv_username, R.id.tv_name, R.id.tv_age}

);

return adapter;

}

@Override

public void onItemClick(AdapterView<?> parent, View view, int position,

long id) {

HashMap<String, Object> m = (HashMap<String, Object>) parent.getItemAtPosition(position);

//取出id值

Integer pid = (Integer) m.get(“id”);

Intent intent = new Intent(this, EditActivity.class);

//根据id查找

Student model = LitePal.find(Student.class, pid);

intent.putExtra(“model”, model);

startActivity(intent);

}

@Override

public void onClick(View v) {

switch (v.getId()){

case R.id.sub:

String username1 = username.getText().toString();

String name1 = name.getText().toString();

Integer age1 = Integer.parseInt(age.getText().toString());

model.setUsername(username1);
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后:学习总结——MyBtis知识脑图(纯手绘xmind文档)

学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后续的复习,且都是自己的理解,相信随便瞟几眼就能迅速过完整个知识,脑补回来。下方即为我手绘的MyBtis知识脑图,由于是xmind文件,不好上传,所以小编将其以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的MyBtis知识脑图原件(包括上方的面试解析xmind文档)

image

除此之外,前文所提及的Alibaba珍藏版mybatis手写文档以及一本小小的MyBatis源码分析文档——《MyBatis源码分析》等等相关的学习笔记文档,也皆可分享给认可的朋友!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
tGcpr5V-1713452614291)]

[外链图片转存中…(img-5ADhsMqp-1713452614292)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后:学习总结——MyBtis知识脑图(纯手绘xmind文档)

学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后续的复习,且都是自己的理解,相信随便瞟几眼就能迅速过完整个知识,脑补回来。下方即为我手绘的MyBtis知识脑图,由于是xmind文件,不好上传,所以小编将其以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的MyBtis知识脑图原件(包括上方的面试解析xmind文档)

[外链图片转存中…(img-3yjBlw5K-1713452614293)]

除此之外,前文所提及的Alibaba珍藏版mybatis手写文档以及一本小小的MyBatis源码分析文档——《MyBatis源码分析》等等相关的学习笔记文档,也皆可分享给认可的朋友!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 14
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值