login+xlistview+disanfang+webview

MainActivity
public class MainActivity extends BaseActivity implements IView, View.OnClickListener {

private EditText mobile;
private EditText pwd;
private CheckBox remmber;
private CheckBox autologin;
private Button login_btn;
private Button three_login;
private ImageView q_image;
private SharedPreferences.Editor edit;
private String url = "http://www.xieast.com/api/user/login.php";
private Presenter presenter;
private String name;
private String pass;
private SharedPreferences sp;

@Override
protected int getLayout() {
    return R.layout.activity_main;
}

@Override
protected void initView() {
    login_btn = findViewById(R.id.login_btn);
    mobile = findViewById(R.id.mobile);
    pwd = findViewById(R.id.pwd);
    remmber = findViewById(R.id.remmber);
    autologin = findViewById(R.id.autologin);
    three_login=findViewById(R.id.three_login);
    q_image=findViewById(R.id.Q_image);

}

@Override
public void setOnclick() {
    login_btn.setOnClickListener(this);
    autologin.setOnClickListener(this);
    remmber.setOnClickListener(this);
    three_login.setOnClickListener(this);
}

@Override
protected void processLogic() {
    presenter = new Presenter(this);
    sp = getSharedPreferences("wwd",MODE_PRIVATE);
    edit = sp.edit();
    panduandenglu();

}

private void panduandenglu() {
    if(sp.getBoolean("rem",false)){
        remmber.setChecked(true);
        mobile.setText(sp.getString("mobile",""));
        pwd.setText(sp.getString("pwd",""));

    }
    if(sp.getBoolean("rem",false )&& sp.getBoolean("auto",false)){
        autologin.setChecked(true);
        remmber.setChecked(true);
        Intent intent=new Intent(MainActivity.this,Main2Activity.class);
        startActivity(intent);
    }
}

@Override
public void showData(Object data) {
    User data1 = (User) data;
    if (data1.getCode() == 100) {
        edit.putString("phone", data1.getData().getMobile() + "");
        Intent intent = new Intent(this, Main2Activity.class);
        startActivity(intent);
    }
}

@Override
public void onClick(View v) {
     switch (v.getId()){

         case R.id.login_btn:

             name = mobile.getText().toString().trim();
             pass = pwd.getText().toString().trim();
             if(name.isEmpty()|| pass.isEmpty()){
                 Toast.makeText(this, "账号或密码不能为空", Toast.LENGTH_SHORT).show();
             }
             else{
                 presenter.getData(url,name,pass);
             }
         case R.id.remmber:
           String name1  = mobile.getText().toString().trim();
           String pass1= pwd.getText().toString().trim();

             if (name1.isEmpty() || pass1.isEmpty()) {
                 Toast.makeText(this, "账号或密码不能为空", Toast.LENGTH_SHORT).show();
                 remmber.setChecked(false);
             } else {

             }
             panduan();
             break;
           case R.id.autologin:
               String name2  = mobile.getText().toString().trim();
               String pass2= pwd.getText().toString().trim();
              if(name2.isEmpty()||pass2.isEmpty()){
                  Toast.makeText(this, "账号或密码不能为空", Toast.LENGTH_SHORT).show();
                  autologin.setChecked(false);
              }
              else{
                  if(autologin.isChecked()){
                      remmber.setChecked(true);
                  }
                  else{
                      remmber.setChecked(false);
                  }
              }
              panduan();
              break;
             case R.id.three_login:
                 UMShareAPI.get(this).getPlatformInfo(this, SHARE_MEDIA.QQ, authListener);
                 break;


     }


}
public  void panduan(){
     if(remmber.isChecked()&& autologin.isChecked()){
         edit.putBoolean("rem",true);
         edit.putBoolean("auto",true);
         edit.putString("mobile",mobile.getText().toString());
         edit.putString("pwd",pwd.getText().toString());
         edit.commit();

     }
     else if(remmber.isChecked()&&! autologin.isChecked()){
         edit.putBoolean("rem",true);
         edit.putString("Mobile", mobile.getText().toString());
         edit.putString("pwd", pwd.getText().toString());
         edit.commit();
     }
}

UMAuthListener authListener = new UMAuthListener() {
    /**
     * @desc 授权开始的回调
     * @param platform 平台名称
     */
    @Override
    public void onStart(SHARE_MEDIA platform) {

    }

    /**
     * @desc 授权成功的回调
     * @param platform 平台名称
     * @param action 行为序号,开发者用不上
     * @param data 用户资料返回
     */
    @Override
    public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
        String img=data.get("iconurl");
        Picasso.get().load(img).into(q_image);
        Toast.makeText(MainActivity.this, "成功了", Toast.LENGTH_LONG).show();

    }

    /**
     * @desc 授权失败的回调
     * @param platform 平台名称
     * @param action 行为序号,开发者用不上
     * @param t 错误原因
     */
    @Override
    public void onError(SHARE_MEDIA platform, int action, Throwable t) {

        Toast.makeText(MainActivity.this, "失败:" + t.getMessage(),                                     Toast.LENGTH_LONG).show();
    }

    /**
     * @desc 授权取消的回调
     * @param platform 平台名称
     * @param action 行为序号,开发者用不上
     */
    @Override
    public void onCancel(SHARE_MEDIA platform, int action) {
        Toast.makeText(MainActivity.this, "取消了", Toast.LENGTH_LONG).show();
    }
};
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}

}

0mainfest

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

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<application
    android:name=".Application"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".Main2Activity" />
    <activity android:name=".Threeavtivity"></activity>
    <activity
        android:name="com.tencent.tauth.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.tencent.connect.common.AssistActivity"
        android:theme="@android:style/Theme.Translucent.NoTitleBar"
        android:configChanges="orientation|keyboardHidden|screenSize"/>
    <meta-data android:name="UMENG-APPKEY" android:value="5c090d8df1f556955700028c"></meta-data>
</application>
MyCallBack package com.example.wwwweek2.callback;

public interface MyCallBack {
void getData(T data);
}
model
public interface Model {
void getData(String url, String mobile, String pwd, MyCallBack callBack);
modelLimpl

public class ModelImpl implements Model{
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case 0:
String str1 = (String) msg.obj;
Gson g=new Gson();
User user = g.fromJson(str1, User.class);
callBack.getData(user);
break;
case 1:
String str2 = (String) msg.obj;
Gson g1=new Gson();
Data data = g1.fromJson(str2, Data.class);
callBack.getData(data);
break;
}
}
};
private MyCallBack callBack;
@Override
public void getData(final String url, final String mobile, final String pwd, final MyCallBack callBack) {
this.callBack=callBack;
new Thread(new Runnable() {
@Override
public void run() {

                if(mobile.equals("json")) {
                    String s = HttpUtils.get(url);
                    handler.sendMessage(handler.obtainMessage(1,s));

                }
                else{
                    String s = HttpUtils.post(url, mobile, pwd);
                 handler.sendMessage(handler.obtainMessage(0,s));

                }
            } catch (Exception e) {



            }
        }
    }).start();
}
present
public interface pre {
void getData(String url, String mobile, String pwd);

}
presentimpl

public Presenter(IView iView) {
    this.iView = iView;
    model=new ModelImpl();
}

@Override
public void getData(String url, String mobile, String pwd) {
     model.getData(url, mobile, pwd, new MyCallBack() {
         @Override
         public void getData(Object data) {
             iView.showData(data);
         }
     });
}

ivew
public interface IView {

void showData(T data);

}
base
package com.example.wwwweek2;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;

public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
init();
}
//获取布局
protected abstract int getLayout();
//查找控件
protected abstract void initView();
//点击事件
public abstract void setOnclick();
//具体操作
protected abstract void processLogic();
void init(){
if(getLayout()!=0){
setContentView(getLayout());
initView();
setOnclick();
processLogic();
}
};
}
http请求网络
package com.example.wwwweek2.Util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

/**

  • 网络处理工具类
    */
    public class HttpUtils {

    public static String get(String urlStr) throws Exception {
    URL url = new URL(urlStr);
    //由一个有效的网址服务返回这个对象
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    //设置请求方式
    connection.setRequestMethod(“GET”);
    connection.setConnectTimeout(5000);
    InputStream stream = connection.getInputStream();
    String inputStr = getInputStr(stream);
    return inputStr;
    }

    //把流转成字符串
    private static String getInputStr(InputStream stream) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(stream));
    StringBuffer sb = new StringBuffer();
    String str = null;
    while ((str = br.readLine()) != null) {
    sb.append(str);
    }
    return sb.toString();
    }

    public static String post(String urlStr, String username, String password) throws Exception {
    String inputStr = “”;
    URL url = new URL(urlStr+"?username="+username+"&password="+password);
    //由一个有效的网址服务返回这个对象
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    //设置请求方式
    connection.setRequestMethod(“GET”);
    connection.setConnectTimeout(5000);

     InputStream stream = connection.getInputStream();
     inputStr = getInputStr(stream);
     return inputStr;
    

    }
    }
    viewpager+radiogroup

public class Main2Activity extends BaseActivity {

private ViewPager frag_pager;
private RadioButton rb1;
private RadioButton rb2;
private RadioGroup rg;
private List<Fragment> list=new ArrayList<>();

@Override
protected int getLayout() {
    return R.layout.activity_main2;
}

@Override
protected void initView() {
    initData();
    frag_pager=findViewById(R.id.frag_pager);
    rg=findViewById(R.id.rg);
    rb1=findViewById(R.id.rb1);
    rb2=findViewById(R.id.rb2);
    Pageadapter pageadapter=new Pageadapter(getSupportFragmentManager(),list);
    frag_pager.setAdapter(pageadapter);
    frag_pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int i, float v, int i1) {

        }

        @Override
        public void onPageSelected(int i) {
                if (i==0){
                    rb1.setChecked(true);
                }
                else if(i==1){
                    rb2.setChecked(true);
            }
        }

        @Override
        public void onPageScrollStateChanged(int i) {

        }
    });
    rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            if(checkedId==R.id.rb1){
                frag_pager.setCurrentItem(0);
            }
            else {
                frag_pager.setCurrentItem(1);
            }
        }
    });

}

private void initData() {
    list.add(new Afragment());
    list.add(new Bfragment());
}

@Override
public void setOnclick() {

}

@Override
protected void processLogic() {

}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // TODO: add setContentView(...) and run LayoutCreator again
}

}
webview+第三方分享
package com.example.wwwweek2;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.Toast;

import com.umeng.socialize.ShareAction;
import com.umeng.socialize.UMShareListener;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.media.UMImage;

public class Threeavtivity extends AppCompatActivity implements View.OnClickListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_threeavtivity);
    initView();
    Intent intent=getIntent();
    url = intent.getStringExtra("url");
    WebSettings webSettings=web.getSettings();
    webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
    webSettings.setJavaScriptEnabled(true);
    web.setWebViewClient(new WebViewClient());
    web.setWebChromeClient(new WebChromeClient());
    web.loadUrl(url);

}

private void initView() {
    fenxiang = (Button) findViewById(R.id.fenxiang);
    web = (WebView) findViewById(R.id.web);

    fenxiang.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.fenxiang:
            UMImage image = new UMImage(Threeavtivity.this, R.drawable.umeng_socialize_qq);
            new ShareAction(Threeavtivity.this)
                    .withText(url)

                    .setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
                    .setCallback(shareListener).open();
            break;
    }
}
private UMShareListener shareListener = new UMShareListener() {
    /**
     * @descrption 分享开始的回调
     * @param platform 平台类型
     */
    @Override
    public void onStart(SHARE_MEDIA platform) {

    }

    /**
     * @descrption 分享成功的回调
     * @param platform 平台类型
     */
    @Override
    public void onResult(SHARE_MEDIA platform) {
        Toast.makeText(Threeavtivity.this,"成功了",Toast.LENGTH_LONG).show();
    }

    /**
     * @descrption 分享失败的回调
     * @param platform 平台类型
     * @param t 错误原因
     */
    @Override
    public void onError(SHARE_MEDIA platform, Throwable t) {
        Toast.makeText(Threeavtivity.this,"失                                            败"+t.getMessage(),Toast.LENGTH_LONG).show();
    }

    /**
     * @descrption 分享取消的回调
     * @param platform 平台类型
     */
    @Override
    public void onCancel(SHARE_MEDIA platform) {
        Toast.makeText(Threeavtivity.this,"取消了",Toast.LENGTH_LONG).show();

    }
};

}
Xlistview
public class Afragment extends Fragment implements IView{
private String url=“http://www.xieast.com/api/news/news.php”;
private XListView xListView;
private List<Data.DataBean> list=new ArrayList<>();
private MyAdapter adapter;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
 View view=  inflater.inflate(R.layout.afragment,null);
 initView(view);
 initprocess();
 return view;
}

private void initprocess() {
    Presenter presenter=new Presenter(this);
    presenter.getData(url,"json",null);

}

private void initView(View view) {
    xListView = view.findViewById(R.id.xxlistview);
    xListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            String url = list.get(position).getUrl();
            Intent intent=new Intent(getActivity(),Threeavtivity.class);
            intent.putExtra("url",url);
            startActivity(intent);
        }
    });

}

@Override
public void showData(Object data) {
    Data d=(Data) data;
    List<Data.DataBean> dataa = d.getData();
    list.clear();
    list.addAll(dataa);
    adapter = new MyAdapter(list,getContext());
    xListView.setAdapter(adapter);

}

}
二维码啦啦啦

public class Bfragment extends Fragment implements View.OnClickListener{
private ImageView erweima;
private Button t_login;
private SharedPreferences sp;
private SharedPreferences.Editor edit;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
   View view= inflater.inflate(R.layout.bfragment,null);
    sp = getActivity().getSharedPreferences("wwd",Context.MODE_PRIVATE);
    edit = sp.edit();
    initView(view);
    Bitmap logo=BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher);
    try {
        Bitmap bitmap=CodeCreator.createQRCode(sp.getString("phone","信息没传过来"),400,400,logo);
        erweima.setImageBitmap(bitmap);
    } catch (WriterException e) {
        e.printStackTrace();
    }

    return view;
}

private void initView(View view) {
    erweima = (ImageView) view.findViewById(R.id.erweima);
    t_login = (Button) view.findViewById(R.id.t_login);
    t_login.setOnClickListener(this);
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.t_login:
            edit.clear();
            edit.commit();
            break;
    }
}

}
MyAdapter

public class MyAdapter extends BaseAdapter {
private List<Data.DataBean> list;
private Context context;

public MyAdapter(List<Data.DataBean> list, Context context) {
    this.list = list;
    this.context = context;
}

@Override
public int getCount() {
    return list.size();
}

@Override
public Object getItem(int position) {
    return null;
}

@Override
public long getItemId(int position) {
    return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder=null;
    if(convertView==null){
        holder=new ViewHolder();
        convertView=View.inflate(context,R.layout.xlist_item,null);
       holder.tvtext=convertView.findViewById(R.id.tvtext);
        holder.img1=convertView.findViewById(R.id.img1);
        holder.img2=convertView.findViewById(R.id.img2);
        holder.img3=convertView.findViewById(R.id.img3);
        convertView.setTag(holder);
    }
    else{
        holder= (ViewHolder) convertView.getTag();
    }
    holder.tvtext.setText(list.get(position).getTitle());
    Glide.with(context).load(list.get(position).getThumbnail_pic_s()).into(holder.img1);
    Glide.with(context).load(list.get(position).getThumbnail_pic_s02()).into(holder.img2);
    Glide.with(context).load(list.get(position).getThumbnail_pic_s03()).into(holder.img3);
    return convertView;
}
class ViewHolder{
    TextView tvtext;
    ImageView img1;
    ImageView img2;
    ImageView img3;
}

}
pageadapter
public class Pageadapter extends FragmentPagerAdapter{
private List list;

public Pageadapter(FragmentManager fm, List<Fragment> list) {
    super(fm);
    this.list = list;
}


@Override
public Fragment getItem(int i) {
    return list.get(i);
}

@Override
public int getCount() {
    return list.size();
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值