动画,QQ登录,recycleview展示,fenxiang

///Myabapter             recycleview展示及点击条目进入web页面

package com.example.com.yuemoni.Abapter;

import android.content.Context;

import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.example.com.yuemoni.Modle.Bean;
import com.example.com.yuemoni.R;


import java.util.List;

/**
 * Created by 丶未央 on 2018/4/5.
 */

public class Myabapter extends RecyclerView.Adapter{
    Context context;
    List<Bean.NewslistBean> list;
    Webone webone;
    public void Webtwo(Webone webone){
        this.webone=webone;

    }


    public Myabapter(Context context, List<Bean.NewslistBean> list) {
        this.context=context;
        this.list=list;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = View.inflate(parent.getContext(), R.layout.item, null);

        Myviewholder myviewholder = new Myviewholder(view);


        return myviewholder;
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {

        Myviewholder myviewholder= (Myviewholder) holder;
        myviewholder.textone.setText(list.get(position).getTitle());
        myviewholder.texttwo.setText(list.get(position).getCtime());
        Glide.with(context).load(list.get(position).getPicUrl()).into(myviewholder.imageview);
        myviewholder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                webone.webones(position);
            }
        });
    }

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

    class Myviewholder extends RecyclerView.ViewHolder{

        private final ImageView imageview;
        private final TextView textone;
        private final TextView texttwo;

        public Myviewholder(View itemView) {
            super(itemView);
            imageview = itemView.findViewById(R.id.imageview);
            textone = itemView.findViewById(R.id.textone);
            texttwo = itemView.findViewById(R.id.texttwo);
        }
    }
  public  interface Webone{
        void webones(int i);
  };


}
 
 
/Molder层
 
package com.example.com.yuemoni.Modle;

import com.example.com.yuemoni.Presenter.Datepresenter;

/**
 * Created by 丶未央 on 2018/4/4.
 */

public interface Getmodle {
    void Getdate(String  url, Datepresenter datepresenter);
}

 
 
package com.example.com.yuemoni.Modle;

import com.example.com.yuemoni.Presenter.Datepresenter;
import com.example.com.yuemoni.Util.OkhtttpUtils;
import com.google.gson.Gson;

import java.io.IOException;
import java.util.List;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;

/**
 * Created by 丶未央 on 2018/4/4.
 */

public class Mygetmodle implements Getmodle {

    @Override
    public void Getdate(String url, final Datepresenter datepresenter) {
        //请求数据
        OkhtttpUtils.doGet(url, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {

            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {

                String string = response.body().string();
                Gson gson = new Gson();
                Bean bean = gson.fromJson(string, Bean.class);
                List<Bean.NewslistBean> list = bean.getNewslist();
                datepresenter.success(list);

            }
        });
    }


}
 
 
 
P层
package com.example.com.yuemoni.Presenter;

import com.example.com.yuemoni.Modle.Bean;

import java.util.List;

/**
 * Created by 丶未央 on 2018/4/4.
 */

public interface Datepresenter {
    void success(List<Bean.NewslistBean> list);
    void errror();
}

 
 / 

package com.example.com.yuemoni.Presenter;

import com.example.com.yuemoni.Modle.Bean;
import com.example.com.yuemoni.Modle.Mygetmodle;
import com.example.com.yuemoni.View.Dateview;

import java.util.List;

/**
 * Created by 丶未央 on 2018/4/4.
 */

public class Mydatepresenter implements Datepresenter{
    Mygetmodle mygetmodle;
    Dateview dateview;
     public Mydatepresenter(Dateview dateview){
         this.dateview=dateview;
           mygetmodle = new Mygetmodle();
      };



    @Override
    public void success(List<Bean.NewslistBean> list) {
        dateview.tobackhome(list);
    }

    @Override
    public void errror() {

    }

    public void getNet(String url) {
        mygetmodle.Getdate(url,this);

    }
}



/View 层

动画播放

package com.example.com.yuemoni.View;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;

import com.example.com.yuemoni.R;

public class MainActivity extends AppCompatActivity {

    private ImageView xian;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        xian = findViewById(R.id.xian);
    }

    public void dong(final View view) {
        ObjectAnimator mator=ObjectAnimator.ofFloat(view,"rotationY", 0.0F, 90.0F);
       mator.setDuration(3000);

        mator.start();
        mator.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                super.onAnimationEnd(animation);
                xian.setVisibility(View.VISIBLE);
                ObjectAnimator mator1=ObjectAnimator.ofFloat(view,"rotationY", 0.0F, 90.0F);
                mator1.setDuration(3000);

                mator1.start();

            }
        });



    }

    public void fan(View view) {
        Intent intent = new Intent(MainActivity.this,Two.class);
        startActivity(intent);
    }
}



recycleview  web传值

package com.example.com.yuemoni.View;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;

import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.AbsListView;

import com.example.com.yuemoni.Abapter.Myabapter;
import com.example.com.yuemoni.Modle.Bean;
import com.example.com.yuemoni.Presenter.Mydatepresenter;
import com.example.com.yuemoni.R;

import java.util.List;

/**
 * Created by 丶未央 on 2018/4/4.
 */

public class One extends AppCompatActivity implements Dateview,Myabapter.Webone{
     String url="http://api.tianapi.com/startup/?key=71e58b5b2f930eaf1f937407acde08fe&num=10";
    List<Bean.NewslistBean> list;
     private Handler handler=new Handler(){
         @Override
         public void handleMessage(Message msg) {
             super.handleMessage(msg);
            list = (List<Bean.NewslistBean>) msg.obj;
             recycler.setLayoutManager(new LinearLayoutManager(One.this,LinearLayoutManager.VERTICAL,false));
             Myabapter myabapter = new Myabapter(One.this, list);
             recycler.setAdapter(myabapter);
                myabapter.Webtwo(One.this);

         }
     };
    private RecyclerView recycler;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.one);
        recycler = findViewById(R.id.recycler);



        Mydatepresenter mydatepresenter = new Mydatepresenter(this);

        mydatepresenter.getNet(url);


    }




    @Override
    public void tobackhome(List<Bean.NewslistBean> list) {
        Message msg = new Message();
        msg.obj=list;
        handler.sendMessage(msg);
    }



    @Override
    public void webones(int i) {
        Intent intent = new Intent(One.this,Three.class);
        String url = list.get(i).getUrl();
        intent.putExtra("url", url);
        startActivity(intent);

    }
}

 
 
 
QQ登录
package com.example.com.yuemoni.View;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;

import com.example.com.yuemoni.R;
import com.umeng.socialize.UMAuthListener;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.bean.SHARE_MEDIA;

import java.util.Map;

/**
 * Created by 丶未央 on 2018/4/5.
 */

public class Two extends AppCompatActivity {

    private ImageView xian;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.two);
        xian = findViewById(R.id.xian);
    }

    public void qq(View view) {
        Intent intent = new Intent(Two.this, One.class);

     startActivity(intent);
    }

    public void dl(View view) {
        UMAuthListener authListener=new UMAuthListener(){

            @Override
            public void onStart(SHARE_MEDIA share_media) {

            }

            @Override
            public void onComplete(SHARE_MEDIA share_media, int i, Map<String, String> map) {

            }

            @Override
            public void onError(SHARE_MEDIA share_media, int i, Throwable throwable) {

            }

            @Override
            public void onCancel(SHARE_MEDIA share_media, int i) {

            }
        };
        UMShareAPI.get(Two.this).getPlatformInfo(Two.this, SHARE_MEDIA.QQ,authListener);
    }
}

 
///
分享
package com.example.com.yuemoni.View;

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

import com.example.com.yuemoni.R;
import com.umeng.socialize.ShareAction;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.UMShareListener;
import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.media.UMWeb;

public class Three extends AppCompatActivity {

    private WebView webs;
    private Button btone;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_three);
        webs = findViewById(R.id.webs);
        btone = findViewById(R.id.btone);
        Intent intent = getIntent();
        String url = intent.getStringExtra("url");
        webs.loadUrl(url);
        WebSettings settings = webs.getSettings();
        settings.setJavaScriptEnabled(true);
        webs.setWebViewClient(new WebViewClient());

    }

    public void btone(View view) {
        UMWeb web = new UMWeb("http://www.baidu.com");
        web.setTitle("中华小二货");//标题

        web.setDescription("鲍成龙");//描述

        new ShareAction(Three.this).withMedia(web).setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
                .setCallback(shareListener).open();

    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
    }

    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(Three.this,"成功了",Toast.LENGTH_LONG).show();
        }
        /**
         * @descrption 分享失败的回调
         * @param platform 平台类型
         * @param t 错误原因
         */
        @Override
        public void onError(SHARE_MEDIA platform, Throwable t) {
            Toast.makeText(Three.this,"失败"+t.getMessage(),Toast.LENGTH_LONG).show();
        }
        /**
         * @descrption 分享取消的回调
         * @param platform 平台类型
         */
        @Override
        public void onCancel(SHARE_MEDIA platform) {
            Toast.makeText(Three.this,"取消了",Toast.LENGTH_LONG).show();
        }
    };

}

、、、、友盟分享包
package com.example.com.yuemoni.View;

import android.app.Application;

import com.umeng.commonsdk.UMConfigure;
import com.umeng.socialize.PlatformConfig;

/**
 * Created by 丶未央 on 2018/4/5.
 */

public class apppppp extends Application {

    {

        PlatformConfig.setWeixin("wx967daebe835fbeac","5bb696d9ccd75a38c8a0bfe0675559b3");
        PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
        PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad","http://sns.whalecloud.com");
    }
    @Override
    public void onCreate() {
        super.onCreate();
        // UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, "1fe6a20054bcef865eeb0991ee84525b");
        UMConfigure.init(this,"5a12384aa40fa3551f0001d1"
                ,"umeng",UMConfigure.DEVICE_TYPE_PHONE,"");//58edcfeb310c93091c000be2 5965ee00734be40b580001a0

        // UMShareAPI.get(this);
    }

}


 
、、、、、、、权限
<!-- 必须的权限 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<!-- 推荐的权限 -->
<!-- 添加如下权限,以便使用更多的第三方SDK和更精准的统计数据 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- //新浪-->
<activity
    android:name="com.umeng.socialize.media.WBShareCallBackActivity"
    android:configChanges="keyboardHidden|orientation"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:exported="false"
    android:screenOrientation="portrait" >
</activity>
<activity android:name="com.sina.weibo.sdk.web.WeiboSdkWebActivity"
    android:configChanges="keyboardHidden|orientation"
    android:exported="false"
    android:windowSoftInputMode="adjustResize"
    >
</activity>
<activity
    android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
    android:launchMode="singleTask"
    android:name="com.sina.weibo.sdk.share.WbShareTransActivity">
    <intent-filter>
        <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>


<!--qq-->
<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"/>




<activity
    android:name="com.umeng.socialize.editorpage.ShareActivity"
    android:theme="@android:style/Theme.NoTitleBar"
    android:excludeFromRecents="true"
    />


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值