吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 18100|回复: 38
收起左侧

[其他转载] 【分享】每日自动从网上获取各种妹纸福利图APP(安卓源码开源的可以学习和改进)

 关闭 [复制链接]
lintur 发表于 2018-7-5 12:35
本帖最后由 wushaominkk 于 2018-7-6 11:19 编辑

     1.实现思路:通过Retrofit模块抓取各大网站妹子福利图,gank,豆瓣,花瓣,煎蛋,淘女郎,妹子图
                          使用Rxjava系列类库 + Realm数据库 + Glide进行图片加载实现,并遵循Google的material设计。

     2.添加依赖:
      
      
  • Retrofit


      
[Java] 纯文本查看 复制代码
    compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'//Retrofit2所需要的包
    compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'//ConverterFactory的Gson依赖包
    compile 'com.squareup.retrofit2:converter-scalars:2.0.0-beta4'//ConverterFactory的String依赖包

         
        
  • Glide


        
[Java] 纯文本查看 复制代码
//工程的build.gradle文件中
repositories {
    mavenCentral() 
}
//Module的build.gradle文件中
dependencies {
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'com.android.support:support-v4:19.1.0'
}


        
  • 网络请求需要权限


        
[Java] 纯文本查看 复制代码
<uses-permission android:name="android.permission.INTERNET"/>
   

      3.准备数据

      图片数据来源:易源数据(https://www.showapi.com/)300次每天
      请求地址分为几部分:
      
[Java] 纯文本查看 复制代码
    https://www.showapi.com/ //接口基地址
    819-1 //接口地址
    showapi_appid //易源应用ID
    showapi_sign  //身份验证
    num  //每页返回的数据条数
    page //页数(非必须)


      访问上述网址,获得Json数据,使用Gson的GsonFormat插件将Json数据转换为GirlBean对象
      
       4.Retrofit的使用

      
[Java] 纯文本查看 复制代码
@Query、@QueryMap://用于Http Get请求传递参数
@Field://用于Post方式传递参数,需要在请求接口方法上添加@FormUrlEncoded,即以表单的方式传递参数
@Body: //用于Post,根据转换方式将实例对象转化为对应字符串传递参数.
        //比如Retrofit添加GsonConverterFactory则是将body转化为gson字符串进行传递
@Path: //用于URL上占位符
@Part: //配合@Multipart使用,一般用于文件上传
@Header://添加http header
@Headers://跟@Header作用一样,只是使用方式不一样,@Header是作为请求方法的参数传入,@Headers是以固定方式直接添加到请求方法上POST请求



       5. 自定义请求接口
      
[Java] 纯文本查看 复制代码
  /**
   * 来自易源接口的数据
   */
  @GET("819-1")
  Observable<ResponseBody> getHuaBanMeizi(@Query("num") String num,
                                          @Query("page") String page,
                                          @Query("showapi_appid") String appId,
                                          @Query("type") String type,
                                          @Query("showapi_sign") String sign);
}


       6. 显示数据
         
[Java] 纯文本查看 复制代码
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.hotbitmapgg.moequest.R;
import com.hotbitmapgg.moequest.adapter.helper.AbsRecyclerViewAdapter;
import com.hotbitmapgg.moequest.entity.huaban.HuaBanMeiziInfo;
import com.hotbitmapgg.moequest.widget.RatioImageView;
import java.util.ArrayList;
import java.util.List;

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

public class HuaBanMeiziAdapter extends AbsRecyclerViewAdapter {

  private List<HuaBanMeiziInfo> meiziList = new ArrayList<>();


  public HuaBanMeiziAdapter(RecyclerView recyclerView, List<HuaBanMeiziInfo> meiziList) {

    super(recyclerView);
    this.meiziList = meiziList;
  }


  @Override
  public ClickableViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

    bindContext(parent.getContext());
    return new ItemViewHolder(
        LayoutInflater.from(getContext()).inflate(R.layout.item_huaban_meizi, parent, false));
  }


  @Override
  public void onBindViewHolder(ClickableViewHolder holder, int position) {

    if (holder instanceof ItemViewHolder) {
      final ItemViewHolder itemViewHolder = (ItemViewHolder) holder;
      itemViewHolder.mTextView.setText(meiziList.get(position).getTitle());
      Glide.with(getContext())
          .load(meiziList.get(position).getThumb())
          .centerCrop()
          .diskCacheStrategy(DiskCacheStrategy.ALL)
          .placeholder(R.drawable.placeholder_image)
          .into(itemViewHolder.ratioImageView)
          .getSize((width, height) -> {

            if (!itemViewHolder.item.isShown()) {
              itemViewHolder.item.setVisibility(View.VISIBLE);
            }
          });
    }

    super.onBindViewHolder(holder, position);
  }


  @Override
  public int getItemCount() {

    return meiziList.size();
  }


  public class ItemViewHolder extends AbsRecyclerViewAdapter.ClickableViewHolder {

    public RatioImageView ratioImageView;

    public TextView mTextView;

    public View item;


    public ItemViewHolder(View itemView) {

      super(itemView);
      item = itemView;
      ratioImageView = $(R.id.item_img);
      mTextView = $(R.id.item_title);
      ratioImageView.setOriginalSize(50, 50);
    }
  }
}


    7.界面布局
      
[Java] 纯文本查看 复制代码
/** <p/>
 * 花瓣妹子接口对应type:
 * 大胸妹=34
 * 小清新=35
 * 文艺范=36
 * 性感妹=37
 * 大长腿=38
 * 黑丝袜=39
 * 小翘臀=40
 */
public class HuaBanMeiziFragment extends RxBaseFragment {

  @Bind(R.id.sliding_tabs)
  SlidingTabLayout mSlidingTabLayout;

  @Bind(R.id.view_pager)
  ViewPager mViewPager;

  private List<String> titles = Arrays.asList("大胸妹", "小清新", "文艺范", "性感妹", "大长腿", "黑丝袜", "小翘臀");

  private List<Integer> cids = Arrays.asList(34, 35, 36, 37, 38, 39, 40);


  public static HuaBanMeiziFragment newInstance() {

    return new HuaBanMeiziFragment();
  }


  @Override
  public int getLayoutId() {

    return R.layout.fragment_huaban_meizi;
  }


  @Override
  public void initViews() {

    mViewPager.setAdapter(new HuaBanMeiziPageAdapter(getChildFragmentManager()));
    mSlidingTabLayout.setViewPager(mViewPager);
  }


  private class HuaBanMeiziPageAdapter extends FragmentStatePagerAdapter {

    public HuaBanMeiziPageAdapter(FragmentManager fm) {

      super(fm);
    }


    @Override
    public Fragment getItem(int position) {

      return HuaBanMeiziSimpleFragment
          .newInstance(cids.get(position), position);
    }


    @Override
    public CharSequence getPageTitle(int position) {

      return titles.get(position);
    }


    @Override
    public int getCount() {

      return titles.size();
    }
  }
}


8. 成品图片:
    01.jpg
    07.jpg
    08.jpg

   成品APK下载链接: https://pan.baidu.com/s/1hb7M3u3ryaHIDexqq6tRyQ 密码: jdq7
   成品源代码下载链接,觉得不错请免费给个评论吧,新人需要升级,不升级很多东西看不了啊:rggrg
    下载链接.txt (64 Bytes, 下载次数: 271)



免费评分

参与人数 15吾爱币 +17 热心值 +14 收起 理由
胡响风 + 1 + 1 谢谢@Thanks!
704357815 + 1 + 1 麻烦来个不可描述的网站
mijimoji + 1 + 1 我很赞同!
sfoto2011 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wushaominkk + 2 + 1 鼓励转贴优秀软件安全工具和文档!
xztyx + 2 + 1 谢谢@Thanks!
麦米尔加弗德 + 1 + 1 666
clemu + 1 https://github.com/HotBitmapGG/MoeQuest
13427546798 + 1 + 1 热心回复!
airhuu + 1 + 1 热心回复!
luoluoovo + 1 + 1 谢谢@Thanks!
wapj0789 + 1 + 1 热心回复!
a7380422 + 1 + 1 我很赞同!
动物凶猛 + 2 + 1 鼓励转贴优秀软件安全工具和文档!
rui1220 + 1 这会不会违规啊、

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lionboa 发表于 2018-11-21 16:03
源码链接失效了,大家不要再下了!
祥子吧 发表于 2018-7-5 12:49
Jacksir 发表于 2018-7-5 12:52
hsppc 发表于 2018-7-5 12:59
谢谢!楼主分享,妹子看多了,会眼晕啊。
萌萌哒的小白 发表于 2018-7-5 13:06
谢谢分享!!!
xuanqi521 发表于 2018-7-5 13:14
好厉害,妹子真多看得鼻子止不住血!
动物凶猛 发表于 2018-7-5 13:16
这种好东西不知道会不会被删,赶紧收藏
slei1987 发表于 2018-7-5 13:23
下载下来饱饱眼福吧
luoluoovo 发表于 2018-7-5 13:29
学习了!
a7380422 发表于 2018-7-5 13:54
学习, 这个蛮好玩的
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 00:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表