App极限开发第二天

今天着重于制作帖子的原型,由于整个app的基础便是帖子,所以帖子的制作显得尤为重要

确认帖子在数据库中储存的格式:(暂定)

![]()

然后是对帖子的编写:

package com.example.tmchat;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.os.Message;
import android.widget.TextView;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TieziActivity extends AppCompatActivity {

    private Connection conn;
    private PreparedStatement ps;
    private String tid;
    private String title;
    private String fenqu;
    private String username;
    private String date;
    private TextView tv_title;
    private TextView tv_username;
    private TextView tv_date;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tiezi);

        initUI();
        initData();
    }

    private void initData() {

        //获取传来的tid
        Bundle bundle=getIntent().getExtras();  //接收端(这里接收到的bundle为一捆)
        tid = bundle.getString("tid");

        //连接数据库
        new Thread(new Runnable() {
            @Override
            public void run() {

                try {
                    onmysql();
                } catch (SQLException e) {
                    e.printStackTrace();
                }

            }
        }).start();

        System.out.println("输出");
        //为标题,发布者,发布时间设置文字
       // tv_title.setText(title);
       // tv_username.setText(username);
       // tv_date.setText(date);

    }

    private void initUI() {

        //标题,发布者,发布时间
        tv_title = findViewById(R.id.title);
        tv_username = findViewById(R.id.username);
        tv_date = findViewById(R.id.date);

    }
    private void onmysql() throws SQLException {

        String url = "jdbc:mysql://192.168.137.1:3306/tmchat";

        conn = null;
        ps = null;
        System.out.println("此处为1");
        try {
            System.out.println("此处为2");
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("此处为3");
            conn = (Connection)DriverManager.getConnection(url, "guest", "guest");
            System.out.println("此处为4");

        } catch (ClassNotFoundException e) {
            System.out.print("加载驱动失败");
        } catch (SQLException e) {
            System.out.print("连接数据库失败");
        }

        System.out.println("此处为5");

        //是否查找到帖子
        boolean flags = false;

        try {
            ps = conn.prepareStatement("select * from tiezi");
            ResultSet rs = ps.executeQuery();
            while (rs.next()) {
                if(tid.equals(rs.getString("tid"))){
                        title = rs.getString("title");
                        fenqu = rs.getString("fenqu");
                        username = rs.getString("uername");
                        date = rs.getString("date");
                        break;
                }

            }
        }catch (SQLException e) {
            System.out.print("查找失败");
        }

    }

}

今日难点: 如何显示帖子的内容?

声明:该文章系转载,转载该文章的目的在于更广泛的传递信息,并不代表本网站赞同其观点,文章内容仅供参考。

本站是一个个人学习和交流平台,网站上部分文章为网站管理员和网友从相关媒体转载而来,并不用于任何商业目的,内容为作者个人观点, 并不代表本网站赞同其观点和对其真实性负责。

我们已经尽可能的对作者和来源进行了通告,但是可能由于能力有限或疏忽,导致作者和来源有误,亦可能您并不期望您的作品在我们的网站上发布。我们为这些问题向您致歉,如果您在我站上发现此类问题,请及时联系我们,我们将根据您的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。