MONITOW

MainActivity

package com.example.administrator.montow.view;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

import com.example.administrator.montow.Bean;
import com.example.administrator.montow.R;
import com.example.administrator.montow.presenter.Login_Presenter;
import com.example.administrator.montow.presenter.Sign_Presenter;
import com.umeng.socialize.UMAuthListener;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.xys.libzxing.zxing.activity.CaptureActivity;

import java.util.Map;

public class MainActivity extends AppCompatActivity implements View.OnClickListener,Login_View{

    private EditText edit_name;
    private EditText edit_pass;
    private Button login_btn;
    private Button sign_btn;
    private Login_Presenter login_presenter;
    private ImageView sao;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        login_presenter = new Login_Presenter(this);
        initData();

    }

    private void initData() {
        edit_name = findViewById(R.id.edit_name);
        edit_pass = findViewById(R.id.edit_pass);
        login_btn = findViewById(R.id.login_btn);
        sign_btn = findViewById(R.id.sign_btn);
        sao = findViewById(R.id.sao);
        sao.setOnClickListener(this);
        login_btn.setOnClickListener(this);
        sign_btn.setOnClickListener(this);
        login_btn.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View v) {
                authorization(SHARE_MEDIA.QQ);
                return false;
            }
        });
    }

    private void authorization(SHARE_MEDIA share_media) {
        UMShareAPI.get(this).getPlatformInfo(this, share_media, new UMAuthListener() {
            @Override
            public void onStart(SHARE_MEDIA share_media) {
                Log.d("TAG", "onStart " + "授权开始");
            }

            @Override
            public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) {
                Log.d("TAG", "onComplete " + "授权完成");

                //sdk是6.4.4的,但是获取值的时候用的是6.2以前的(access_token)才能获取到值,未知原因
                String uid = map.get("uid");
                String openid = map.get("openid");//微博没有
                String unionid = map.get("unionid");//微博没有
                String access_token = map.get("access_token");
                String refresh_token = map.get("refresh_token");//微信,qq,微博都没有获取到
                String expires_in = map.get("expires_in");
                String name = map.get("name");
                String gender = map.get("gender");
                String iconurl = map.get("iconurl");

                Toast.makeText(getApplicationContext(), "name=" + name + ",gender=" + gender, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {
                Log.d("TAG", "onError " + "授权失败");
            }

            @Override
            public void onCancel(SHARE_MEDIA share_media, int i) {
                Log.d("TAG", "onCancel " + "授权取消");
            }
        });
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.sign_btn:
                Intent intent  = new Intent(v.getContext(),Main2Activity.class);
                startActivity(intent);
                break;
            case R.id.login_btn:
                String name = edit_name.getText().toString();
                String pass = edit_pass.getText().toString();
                login_presenter.login(name,pass);
                break;
            case R.id.sao:
                Intent intent1 = new Intent(MainActivity.this, CaptureActivity.class);
                startActivity(intent1);
        }
    }

    @Override
    public void loginSuccess(Bean bean) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(MainActivity.this,"登录成功",Toast.LENGTH_SHORT).show();
            }
        });
    }

    @Override
    public void loginError(String error) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(MainActivity.this,"登录失败",Toast.LENGTH_SHORT).show();
            }
        });

    }


}
Main2Activity

package com.example.administrator.montow.view;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

import com.example.administrator.montow.Bean;
import com.example.administrator.montow.R;
import com.example.administrator.montow.SginBean;
import com.example.administrator.montow.presenter.Sign_Presenter;

public class Main2Activity extends AppCompatActivity implements View.OnClickListener,Sign_View{

    private Button signButton;
    private ImageView fanhui;
    private EditText sign_name;
    private EditText sign_pass;
    private Sign_Presenter sign_presenter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        sign_presenter =  new Sign_Presenter(this);
        initData();
    }

    private void initData() {
        signButton = findViewById(R.id.signButton);
        fanhui = findViewById(R.id.fanhui);
        sign_name = findViewById(R.id.sign_name);
        sign_pass = findViewById(R.id.sign_pass);
        fanhui.setOnClickListener(this);
        signButton.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {

        switch (v.getId()){
            case R.id.fanhui:
                Intent intent = new Intent(v.getContext(),MainActivity.class);
                startActivity(intent);
                break;
            case R.id.signButton:
                String names = sign_name.getText().toString();
                String passd = sign_pass.getText().toString();

                sign_presenter.sign(names,passd);
                break;
        }

    }

    @Override
    public void signSuccess(SginBean bean) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(Main2Activity.this,"注册成功",Toast.LENGTH_SHORT).show();
                startActivity(new Intent(Main2Activity.this,MainActivity.class));
            }
        });

    }

    @Override
    public void signError(String error) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(Main2Activity.this,"注册失败",Toast.LENGTH_SHORT).show();
            }
        });

    }
}

LoginView

package com.example.administrator.montow.view;

import com.example.administrator.montow.Bean;

/**
 * Created by Administrator on 2018/6/15.
 */

public interface Login_View {

    void loginSuccess(Bean bean);
    void loginError(String error);
}

SignView

package com.example.administrator.montow.view;

import com.example.administrator.montow.Bean;
import com.example.administrator.montow.SginBean;

/**
 * Created by Administrator on 2018/6/15.
 */

public interface Sign_View {


    void signSuccess(SginBean bean);
    void signError(String error);

}
LoginModel


package com.example.administrator.montow.model;

import com.example.administrator.montow.Bean;
import com.google.gson.Gson;

import java.io.IOException;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

/**
 * Created by Administrator on 2018/6/15.
 */

public class Login_Model {
    public void login(String name, String pass, final ILoginModeCallback iLoginModeCallback) {
        OkHttpClient okHttpClient = new OkHttpClient.Builder()
                .build();

        RequestBody requestBody = new FormBody.Builder()
                .add("source","android")
                .add("mobile",name)
                .add("password",pass)
                .build();
        Request request = new Request.Builder()
                .url("https://www.zhaoapi.cn/user/login")
                .post(requestBody)
                .build();

        Call call = okHttpClient.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                //失败
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String json = response.body().string();
                Bean bean = new Gson().fromJson(json, Bean.class);
                String code = bean.getCode();
                String msg = bean.getMsg();
                if("0".equalsIgnoreCase(code)){
                    if(iLoginModeCallback!=null){
                        iLoginModeCallback.onsignSuccess(bean);
                    }
                }else{
                    if(iLoginModeCallback!=null){
                        iLoginModeCallback.onsignFaild(msg);
                    }
                }
            }
        });
    }

    public interface ILoginModeCallback{
        void onsignSuccess(Bean bean);
        void onsignFaild(String error);
    }

}

SignModel

package com.example.administrator.montow.model;

import com.example.administrator.montow.SginBean;
import com.google.gson.Gson;

import java.io.IOException;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

/**
 * Created by Administrator on 2018/6/15.
 */

public class Sign_Model{

    public void sign(String names, String passd, final ILoginModeCallback iLoginModeCallback){
        OkHttpClient okHttpClient = new OkHttpClient.Builder()
                .build();

        RequestBody requestBody = new FormBody.Builder()
                .add("source","android")
                .add("mobile",names)
                .add("password",passd)
                .build();
        Request request = new Request.Builder()
                .url("https://www.zhaoapi.cn/user/reg")
                .post(requestBody)
                .build();

        Call call = okHttpClient.newCall(request);
        call.enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                    //失败
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String json = response.body().string();
                SginBean bean = new Gson().fromJson(json, SginBean.class);
                String code = bean.getCode();
                String msg = bean.getMsg();
                if("0".equalsIgnoreCase(code)){
                    if(iLoginModeCallback!=null){
                        iLoginModeCallback.onsignSuccess(bean);
                    }
                }else{
                    if(iLoginModeCallback!=null){
                        iLoginModeCallback.onsignFaild(msg);
                    }
                }
            }
        });
    }


    public interface ILoginModeCallback{
        void onsignSuccess(SginBean bean);
        void onsignFaild(String error);
    }

}

Application


package com.example.administrator.montow.model;

import android.app.Application;

import com.umeng.socialize.Config;
import com.umeng.socialize.PlatformConfig;
import com.umeng.socialize.UMShareAPI;

/**
 * Created by Administrator on 2018/6/18.
 */

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        UMShareAPI.get(this);//初始化sdk
       // Config.DEBUG=true;

    }
    {
        PlatformConfig.setQQZone("100424468","c7394704798a158208a74ab60104f0ba");
    }
}


LoginPresennter

package com.example.administrator.montow.presenter;

import android.util.Log;

import com.example.administrator.montow.Bean;
import com.example.administrator.montow.model.Login_Model;
import com.example.administrator.montow.model.Sign_Model;
import com.example.administrator.montow.view.Login_View;
import com.example.administrator.montow.view.Sign_View;

/**
 * Created by Administrator on 2018/6/15.
 */

public class Login_Presenter {
    private static Login_Model login_model;
    private static Login_View mlogin_view;
    public Login_Presenter(Login_View login_view) {
        login_model = new Login_Model();
        mlogin_view= login_view;
    }

    public static void login(String name, String pass) {
        if(name==null){
            if(mlogin_view!=null){
                mlogin_view.loginError("手机号不能为空");
            }
            return;
        }
        login_model.login(name, pass, new Login_Model.ILoginModeCallback() {
            @Override
            public void onsignSuccess(Bean bean) {
                mlogin_view.loginSuccess(bean);
            }

            @Override
            public void onsignFaild(String error) {
                mlogin_view.loginError(error);
            }

    });
    }
}
SignPresenter

package com.example.administrator.montow.presenter;

import android.util.Log;
import android.widget.EditText;

import com.example.administrator.montow.Bean;
import com.example.administrator.montow.SginBean;
import com.example.administrator.montow.model.Sign_Model;
import com.example.administrator.montow.view.Login_View;
import com.example.administrator.montow.view.Sign_View;

/**
 * Created by Administrator on 2018/6/15.
 */

public class Sign_Presenter{
   private static Sign_View msign_view;
    private static Sign_Model sign_model;
    private static Login_View mlogin_view;
    public Sign_Presenter(Sign_View sign_view) {
        msign_view = sign_view;
        sign_model = new Sign_Model();

    }

    public static void sign(final String names, final String passd) {
        if(names==null){
            if(msign_view!=null){
                msign_view.signError("手机号不能为空");
            }
            return;

        }
        sign_model.sign(names, passd, new Sign_Model.ILoginModeCallback() {
            @Override
            public void onsignSuccess(SginBean bean) {
                if(msign_view!=null){
                    Log.e("TAG",names+""+passd);
                    msign_view.signSuccess(bean);
                }
            }

            @Override
            public void onsignFaild(String error) {
                if(msign_view!=null){
                    msign_view.signError(error);
                }
            }
        });
    }
}
Bean

package com.example.administrator.montow;

/**
 * Created by Administrator on 2018/6/15.
 */

public class Bean {
    private String msg;
    private String code;
    private DataBean data;

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public DataBean getData() {
        return data;
    }

    public void setData(DataBean data) {
        this.data = data;
    }

    public static class DataBean {
        /**
         * age : null
         * appkey : b21a59a43435efa6
         * appsecret : 06FE82A39363354CCB49A9FBD2B0B841
         * createtime : 2018-01-30T15:06:37
         * email : null
         * fans : null
         * follow : null
         * gender : null
         * icon : null
         * latitude : null
         * longitude : null
         * mobile : 15501186623
         * money : null
         * nickname : null
         * password : 8F669074CAF5513351A2DE5CC22AC04C
         * praiseNum : null
         * token : F59DAFABFD3392862082B61174D823A6
         * uid : 10446
         * userId : null
         * username : 15501186623
         */

        private Object age;
        private String appkey;
        private String appsecret;
        private String createtime;
        private Object email;
        private Object fans;
        private Object follow;
        private Object gender;
        private Object icon;
        private Object latitude;
        private Object longitude;
        private String mobile;
        private Object money;
        private Object nickname;
        private String password;
        private Object praiseNum;
        private String token;
        private int uid;
        private Object userId;
        private String username;

        public Object getAge() {
            return age;
        }

        public void setAge(Object age) {
            this.age = age;
        }

        public String getAppkey() {
            return appkey;
        }

        public void setAppkey(String appkey) {
            this.appkey = appkey;
        }

        public String getAppsecret() {
            return appsecret;
        }

        public void setAppsecret(String appsecret) {
            this.appsecret = appsecret;
        }

        public String getCreatetime() {
            return createtime;
        }

        public void setCreatetime(String createtime) {
            this.createtime = createtime;
        }

        public Object getEmail() {
            return email;
        }

        public void setEmail(Object email) {
            this.email = email;
        }

        public Object getFans() {
            return fans;
        }

        public void setFans(Object fans) {
            this.fans = fans;
        }

        public Object getFollow() {
            return follow;
        }

        public void setFollow(Object follow) {
            this.follow = follow;
        }

        public Object getGender() {
            return gender;
        }

        public void setGender(Object gender) {
            this.gender = gender;
        }

        public Object getIcon() {
            return icon;
        }

        public void setIcon(Object icon) {
            this.icon = icon;
        }

        public Object getLatitude() {
            return latitude;
        }

        public void setLatitude(Object latitude) {
            this.latitude = latitude;
        }

        public Object getLongitude() {
            return longitude;
        }

        public void setLongitude(Object longitude) {
            this.longitude = longitude;
        }

        public String getMobile() {
            return mobile;
        }

        public void setMobile(String mobile) {
            this.mobile = mobile;
        }

        public Object getMoney() {
            return money;
        }

        public void setMoney(Object money) {
            this.money = money;
        }

        public Object getNickname() {
            return nickname;
        }

        public void setNickname(Object nickname) {
            this.nickname = nickname;
        }

        public String getPassword() {
            return password;
        }

        public void setPassword(String password) {
            this.password = password;
        }

        public Object getPraiseNum() {
            return praiseNum;
        }

        public void setPraiseNum(Object praiseNum) {
            this.praiseNum = praiseNum;
        }

        public String getToken() {
            return token;
        }

        public void setToken(String token) {
            this.token = token;
        }

        public int getUid() {
            return uid;
        }

        public void setUid(int uid) {
            this.uid = uid;
        }

        public Object getUserId() {
            return userId;
        }

        public void setUserId(Object userId) {
            this.userId = userId;
        }

        public String getUsername() {
            return username;
        }

        public void setUsername(String username) {
            this.username = username;
        }
    }
}

SignBean

package com.example.administrator.montow;

/**
 * Created by Administrator on 2018/6/16.
 */

public class SginBean {

    /**
     * msg : 注册成功
     * code : 0
     */

    private String msg;
    private String code;

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }
}

build.gradle


apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.example.administrator.montow"
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.google.code.gson:gson:2.8.2'
    implementation 'com.squareup.okhttp3:okhttp:3.10.0'
    implementation project(':libzxing')
    implementation files('libs/SocialSDK_QQ_Simplify.jar')
    implementation files('libs/SocialSDK_Sina_Simplify.jar')
    implementation files('libs/SocialSDK_WeChat_Simplify.jar')
    implementation files('libs/umeng_shareboard_widget.jar')
    implementation files('libs/umeng_social_api.jar')
    implementation files('libs/umeng_social_net.jar')
    implementation files('libs/umeng_social_shareboard.jar')
    implementation files('libs/umeng_social_shareview.jar')
    implementation files('libs/umeng_social_tool.jar')
}
清单
 
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.administrator.montow">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:name=".model.MyApplication"
        android:theme="@style/AppTheme">
        <activity android:name=".view.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".view.Main2Activity" />
        <activity
            android:name="com.umeng.qq.tencent.AuthActivity"
            android:launchMode="singleTask"
            android:noHistory="true">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="tencent100424468" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.umeng.qq.tencent.AssistActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

        <meta-data
            android:name="code"
            android:value="5a73de3eb27b0a195c000065" />
    </application>

</manifest>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值