登录:

package com.example.myapplication.view;import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.viewpager.widget.ViewPager;import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;import com.example.myapplication.MainActivity;
import com.example.myapplication.R;
import com.example.myapplication.basedata.Connent;
import com.example.myapplication.fragment.HomeFragment;
import com.google.gson.Gson;import org.json.JSONException;
import org.json.JSONObject;import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;public class LoginActivity extends AppCompatActivity {private EditText edit_username,edit_password;private Button btn_login;private TextView text_register;private String username,password;OkHttpClient okHttpClient;Handler handler;
//    private String ipAddress = "http://124.93.196.45:10001";
//    private String loginAddress = "/prod-api/api/login";private String token;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);okHttpClient = new OkHttpClient.Builder().build();handler = new Handler(Looper.getMainLooper());bindID();getData();}private void bindID() {edit_username = (EditText) findViewById(R.id.login_username);edit_password = (EditText) findViewById(R.id.login_password);btn_login = (Button) findViewById(R.id.btn_login);text_register = (TextView) findViewById(R.id.text_register);}private void getData() {btn_login.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {username = edit_username.getText().toString();password = edit_password.getText().toString();if (username.isEmpty()){Toast.makeText(LoginActivity.this,"请输入用户名",Toast.LENGTH_LONG).show();return;}else if (password.isEmpty()){Toast.makeText(LoginActivity.this,"请输入密码",Toast.LENGTH_LONG).show();return;}else {
//                    String url =ipAddress+loginAddress;Map data = new HashMap();data.put("username",username);data.put("password",password);String json = new Gson().toJson(data);RequestBody requestBody = RequestBody.create(MediaType.parse("application/json;charset=utf-8"), json);Request request = new Request.Builder().url(Connent.ipAddress+Connent.loginAddress)//http://124.93.196.45:10001/prod-api/api/login.post(requestBody).build();Call call = okHttpClient.newCall(request);call.enqueue(new Callback() {@Overridepublic void onFailure(@NonNull Call call, @NonNull IOException e) {}@Overridepublic void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {if (response!=null&&response.isSuccessful()){String data = response.body().string();Log.i("我的数据" ,data);handler.post(new Runnable() {@Overridepublic void run() {JSONObject jsonObject = null;try {jsonObject=new JSONObject(data);} catch (JSONException e) {e.printStackTrace();}if (jsonObject.optString("code").equals("200")){SharedPreferences sp = getSharedPreferences("MyData",MODE_PRIVATE);SharedPreferences.Editor editor = sp.edit();token = jsonObject.optString("token");editor.putString("token",token);editor.putString("username",username);editor.commit();startActivity(new Intent(LoginActivity.this, MainActivity.class));Toast.makeText(LoginActivity.this,jsonObject.optString("msg"),Toast.LENGTH_LONG).show();}else {Toast.makeText(LoginActivity.this,jsonObject.optString("msg"),Toast.LENGTH_LONG).show();}}});}}});}}});text_register.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {startActivity(new Intent(LoginActivity.this,RegisterActivity.class));LoginActivity.this.finish();}});}}

布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context=".view.LoginActivity"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="登录"android:textSize="30sp"android:gravity="center"android:padding="10dp"android:textColor="@color/white"android:background="@color/blue"/><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="100dp"android:padding="20dp"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="用户名:"android:textSize="25sp"/><EditTextandroid:id="@+id/login_username"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/edit_background"android:textSize="25sp"android:textColor="@color/black"android:inputType="text"android:textColorHint="#AAAAAA"android:hint="@string/edit_username"/></LinearLayout><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:padding="20dp"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="密    码:"android:textSize="25sp"/><EditTextandroid:id="@+id/login_password"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/edit_background"android:textSize="25sp"android:textColor="@color/black"android:inputType="textPassword"android:textColorHint="#AAAAAA"android:hint="@string/edit_password"/></LinearLayout><Buttonandroid:id="@+id/btn_login"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="60dp"android:layout_marginLeft="20dp"android:layout_marginRight="20dp"android:text="@string/login"android:textSize="25sp"app:backgroundTint="@null"android:background="@drawable/login_btn_bg" /><TextViewandroid:id="@+id/text_register"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="200dp"android:gravity="center"android:textColor="@color/blue"android:text="暂无帐号,立即注册" /></LinearLayout>

Android智慧城市代码——登录相关推荐

  1. 区块链架构下 智慧城市发展加速

    来源:中国经济时报 智慧城市与区块链技术结合愈加紧密 在城市建设和管理上,越来越多的城市开始尝试推动区块链技术在智慧城市项目中应用.中国有杭州聚能城.雄安新区;韩国有"区块链首尔城" ...

  2. 智慧城市 android,基于Android系统的智慧城市服务客户端的设计与实现

    摘要: 随着技术水平的不断高速发展,信息科技已布满人们生活的每个角落.自智慧城市的概念提出以来,全球各大国纷纷掀起了一股构建智慧城市的热潮.我国不少城市也在近几年不断加入其中,然而国内外城市由于建设背 ...

  3. 智慧城市项目开源代码)

    智慧城市,也有叫数字孪生,智慧园区,智慧一切,作为一名合格的开发者,这些都是被冠以的名头,我们开发者统称 数据可视化. 做一个可视化系统,其实基础就是GIS系统,GIS分二维GIS,和三维GIS,因此 ...

  4. 智慧城市 智慧园区_真正的智慧

    智慧城市 智慧园区 No one is surprised when a computer is good at math. They can whiz through whole load of c ...

  5. Flutter智慧城市App

    前言 下面将是我使用Flutter对智慧城市APP的实现过程,尽管过程有点繁琐,但这终究只是我的一片记录学习过程的文章,如果有错误的地方,望在评论区留言,给广大的朋友们指条明路- 要求 任务 1:引导 ...

  6. 出入口控制在智慧城市建设中的发展与应用

    徐建明 佳都新太科技股份有限公司 出入口控制管理作为平安城市.智慧城市建设当中不可或缺的组成部分.其充分利用计算机技术.无线通讯技术.物联网.云计算.移动互联网等新一代信息技术的集成应用,从而为居民提 ...

  7. 智能电视、数字家庭、智慧城市的三位一体化中层设计

    智能电视.数字家庭.智慧城市的三位一体化<中层设计> 作者:高焕堂    来源: 流媒体网   发布时间:2013-02-20 14:01:42 [流媒体网]消息:本文内容涉及到智慧城市的 ...

  8. 近期活动盘点:2019第六届世界互联网大会、智慧城市的人本尺度城市形态讲座、高管AI大数据能力研修班、英伟达初创企业展示开启报名...

    想知道近期有什么最新活动?大数点为你整理的近期活动信息在此 2019第六届世界互联网大会•数字经济产业合作系列活动 2019年10月19日-10月20日 2018年,我国GDP超过90万亿元,全国互联 ...

  9. 近期活动盘点:2019第六届世界互联网大会、面向智慧城市的人本尺度城市形态:理论方法与实践讲座、高级管理人员AI大数据能力研修班...

    想知道近期有什么最新活动?大数点为你整理的近期活动信息在此 2019第六届世界互联网大会•数字经济产业合作系列活动 2019年10月19日-10月20日 2018年,我国GDP超过90万亿元,全国互联 ...

  10. 人脸识别的未来:对智慧城市有何影响

    面部识别技术具有支持大量应用的能力,这些应用可以保护智慧城市的安全,但是随着面部识别技术变得越来越复杂,其滥用潜力也越来越大.不可否认,当前面板识别存在准确性.种族和性别偏见的问题,而隐私问题已导致对 ...

最新文章

  1. python是如何实现进程池和线程池的_高并发:线程、线程锁与线程池(精华),手写代码实现线程池...
  2. 3.3.1 差错控制(检错编码)
  3. 化解三大错误晚餐方式。
  4. 项目中要使用到动态规划该怎么应用,怎么说?
  5. gwt格式_GWT –利弊
  6. PDH光端机常见故障及解决方法介绍
  7. Python基础教程,流程控制语句详解
  8. 【深度学习】深度学习门前徘徊——正向传播
  9. php如何写代码禁用广告,不再显示广告案例(php操作cookie)
  10. 欧盟百万欧元悬赏开源软件漏洞惹争议,被评本末倒置
  11. 数据结构之图的基本介绍
  12. MySQL 8 安装教程
  13. spark-streaming 编程(四)自定义输出foreachRDD
  14. 对外汉语偏误语料库_对外汉语偏误汇总
  15. 【小睿精选·第七期】基于STM32的DIY蓝牙机械键盘
  16. 达人评测 i5 1155G7和i5 1135G7的差距大不大
  17. Top10响应式手机网页开发软件
  18. 详细讲解D3D8里面的2D图形编程(转)
  19. DRF框架APIView
  20. 因为计算机丢失D3DCOMPILER_47.dll 的解决方法

热门文章

  1. 大数据项目开发进度(实时更新)
  2. Unity 官方教程2
  3. 湖南大学离散数学实验——代码(一)
  4. win下hadoop配置环境后cmd中报错
  5. ssh 免密配置、修改hadoop配置文件
  6. EndnoteX9下载并安装
  7. 自己动手搭建免费VoIP服务器
  8. labview变量和C语言,LabVIEW
  9. 【第168期】游戏策划:草率了,这简历像极了脱缰的马儿
  10. 8款超好用的SVG编辑工具用起来