300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Android +kotlin Banner 轮播广告 获取后台数据

Android +kotlin Banner 轮播广告 获取后台数据

时间:2019-10-29 19:56:03

相关推荐

Android +kotlin Banner 轮播广告 获取后台数据

参考网站:(1) /p/4f0903469bc8(2) /YuEOrange/article/details/78779877#commentBoxcompile 'com.youth.banner:banner:1.4.9'<com.youth.banner.Bannerandroid:id="@+id/banner"android:layout_width="match_parent"android:layout_height="300dp"></com.youth.banner.Banner>//初始化Glic依赖包的类public class GlidApplication extends ImageLoader {//继承ImageLoader生成displayImage方法@Overridepublic void displayImage(Context context, Object path, ImageView imageView) {//初始化Glide包Glide.with(context).load(path).into(imageView);}}//初始化控件banner = (Banner) findViewById(R.id.banner);//ok网络请求OkHttpClient okHttpClient = new OkHttpClient();Request request = new Request.Builder().url("/meinv/?key=2a0024d1f7f558e09936f697580f1643&num=5").build();Call call = okHttpClient.newCall(request);//用OkHttp里面的Call对象打点调用 异步请求数据的抽象方法call.enqueue(new Callback() {//建个集合用来存放图片url的地址private List<String> picUrlList;//此集合是bean解析过来的集合private List<LadyBean.NewslistBean> list;@Overridepublic void onFailure(Call call, IOException e) {//访问网络失败的方法(自动生成的)}//访问网络成功的方法(自动生成的)@Overridepublic void onResponse(Call call, Response response) throws IOException {//把数据流转换成json字符串String json = response.body().string();Log.e("++++++++","这是访问到的数据:"+json);//开始用gson解析Gson gson = new Gson();LadyBean ladyBean = gson.fromJson(json, LadyBean.class);//拿到bean类里的集合list = ladyBean.getNewslist();Log.e("++++++++","这是bean集合里的数据:"+list);//设全局此集合专门用来存放图片url地址的picUrlList = new ArrayList<String>();for (int i = 0; i < list.size(); i++) {//循环把图片地址添加到string泛型的集合里picUrlList.add(list.get(i).getPicUrl());}Log.e("++++++++","这是专门存放图片url集合里的数据:"+picUrlList);//子线程不能更新住UI//所以 【必须】 开启返回主线程的方法runOnUiThread(new Runnable() {@Overridepublic void run() {//把更新主UI视图的代码放这里面//.setImagees(把图片地址集合)//.setImageLoader(new你的Glid类)//.start开始装逼吧banner.setImages(picUrlList).setImageLoader(new GlidApplication()).start();}});}});

kotlin 写法

class MainActivity : AppCompatActivity(), OnBannerListener {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)initView()}private fun initView() {var list_path: ArrayList<String>? = nullvar list_title: ArrayList<String>? = null//放图片地址的集合list_path = ArrayList<String>()//放标题的集合list_title = ArrayList<String>()list_path.add("/large/006uZZy8jw1faic21363tj30ci08ct96.jpg");list_path.add("http://imglf5./img/cEpDYmJybXA5V0dOTmNrVVZjVUt3cG93cDlseFpWOXRTV1NCZFVYMk5LcUpVWGpkdncxTldRPT0.jpg?imageView&thumbnail=500x0&quality=96&stripmeta=0&type=jpg%7Cwatermark&type=2&text=wqkgY2FtZXJhIC8gY2FtY29yZGVyLmxvZnRlci5jb20=&font=bXN5aA==&gravity=southwest&dissolve=30&fontsize=240&dx=8&dy=10&stripmeta=0");list_path.add("http://imglf5./img/b2tFaE5OSVI4QmlndXhMdkhwdjlGQTdOSUlaWEordnR0SkFNZElqTkVtUk9pcUpXZ3VoMXR3PT0.jpg?imageView&thumbnail=500x0&quality=96&stripmeta=0&type=jpg");list_path.add("/large/006uZZy8jw1faic2e7vsaj30ci08cglz.jpg");list_title.add("好好学习");list_title.add("天天向上");list_title.add("热爱劳动");list_title.add("不搞对象");//设置内置样式,共有六种可以点入方法内逐一体验使用。activity_banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE)//设置图片加载器,图片加载器在下方activity_banner.setImageLoader(MyLoader());//设置图片网址或地址的集合activity_banner.setImages(list_path);//设置轮播的动画效果,内含多种特效,可点入方法内查找后内逐一体验activity_banner.setBannerAnimation(Transformer.Default);//设置轮播图的标题集合activity_banner.setBannerTitles(list_title);//设置轮播间隔时间activity_banner.setDelayTime(3000);//设置是否为自动轮播,默认是“是”。activity_banner.isAutoPlay(true);//设置指示器的位置,小点点,左中右。activity_banner.setIndicatorGravity(BannerConfig.CENTER)//以上内容都可写成链式布局,这是轮播图的监听。比较重要。方法在下面。.setOnBannerListener(this)//必须最后调用的方法,启动轮播图。.start();}override fun OnBannerClick(position: Int) {Log.i("tag", "你点了第"+position+"张轮播图");}//自定义的图片加载器private inner class MyLoader : ImageLoader() {override fun displayImage(context: Context, path: Any, imageView: ImageView) {Glide.with(context).load(path as String).into(imageView)}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。