当前位置: 首页 > news >正文

锦州网站推广企业网站特色建设

锦州网站推广,企业网站特色建设,ps网页设计尺寸规范,详情页设计图片目录 效果activity_main.xmlMainActivityImageItemImageAdapter 效果 项目本来是要做成图片保存到手机然后读取数据后瀑布流展示#xff0c;但是有问题#xff0c;目前只能做到保存到手机 activity_main.xml ?xml version1.0 encodingutf-8?… 目录 效果activity_main.xmlMainActivityImageItemImageAdapter 效果 项目本来是要做成图片保存到手机然后读取数据后瀑布流展示但是有问题目前只能做到保存到手机 activity_main.xml ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parenttools:context.MainActivityandroid:orientationhorizontalButtonandroid:idid/buttonandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:text生成瀑布流tools:ignoreMissingConstraints /androidx.recyclerview.widget.RecyclerViewandroid:idid/recycler_viewandroid:layout_widthmatch_parentandroid:layout_heightmatch_parent //LinearLayoutMainActivity import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView;import android.Manifest; import android.annotation.SuppressLint; import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; import android.os.AsyncTask; import android.os.Bundle; import android.os.Environment; import android.os.FileUtils; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.ImageView;import com.bumptech.glide.Glide; import com.bumptech.glide.request.target.CustomTarget; import com.bumptech.glide.request.transition.Transition;import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements;import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.List;public class MainActivity extends AppCompatActivity {private ImageView imageView;private static final String TAG MainActivity;private static final int PERMISSION_REQUEST_CODE 1;private Button mButton;private ListImageItem mImageList;private RecyclerView mRecyclerView;private ImageAdapter mAdapter;SuppressLint(MissingInflatedId)Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mButton findViewById(R.id.button);mImageList new ArrayList();mRecyclerView findViewById(R.id.recycler_view);mRecyclerView.setLayoutManager(new LinearLayoutManager(this));mAdapter new ImageAdapter(mImageList, this);mRecyclerView.setAdapter(mAdapter);mButton.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View view) {if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)! PackageManager.PERMISSION_GRANTED) {ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},PERMISSION_REQUEST_CODE);} else {// 开始解析HTML并下载图片startParsingAndDownloading();imageView findViewById(R.id.image_view);Log.e(TAG,开始解析HTML并下载图片);}}});}Overridepublic void onRequestPermissionsResult(int requestCode, NonNull String[] permissions, NonNull int[] grantResults) {super.onRequestPermissionsResult(requestCode, permissions, grantResults);if (requestCode PERMISSION_REQUEST_CODE) {if (grantResults.length 0 grantResults[0] PackageManager.PERMISSION_GRANTED) {// 写入外部存储权限已授予解析HTML并下载图片new ParseHtmlTask().execute(https://example.com); // 替换为你要解析的HTML网页URL} else {// 用户拒绝了权限请求可以根据需要进行处理}}}//开始解析HTMLprivate void startParsingAndDownloading() {new ParseHtmlTask().execute(https://home.meishichina.com/show-top-type-recipe.html);}private class ParseHtmlTask extends AsyncTaskString, Void, ListImageItem {Overrideprotected ListImageItem doInBackground(String... urls) {String url urls[0];Document document null;try {document Jsoup.connect(url).get();Elements imgElements document.select(div.pic);for (Element element : imgElements) {String imgUrl element.select(a).select(img).attr(data-src);mImageList.add(new ImageItem(imgUrl));downloadImage(imgUrl);}} catch (IOException e) {Log.e(TAG,111);//throw new RuntimeException(e);}return mImageList;}Overrideprotected void onPostExecute(ListImageItem imageList) {mAdapter.notifyDataSetChanged();}private void downloadImage(String imgUrl) {Glide.with(MainActivity.this).downloadOnly().load(imgUrl).into(new CustomTargetFile() {Overridepublic void onResourceReady(NonNull File resource, Nullable Transition? super File transition) {// 下载完成后的处理逻辑可根据需求进行保存或其他操作// 这里将图片文件保存到手机的公共图片目录下String fileName image_ System.currentTimeMillis() .jpg;File destFile new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), fileName);try {copyFile(resource, destFile);} catch (IOException e) {e.printStackTrace();}}Overridepublic void onLoadCleared(Nullable Drawable placeholder) {// 可选的清除逻辑}});}private void copyFile(File sourceFile, File destFile) throws IOException {InputStream inputStream null;OutputStream outputStream null;try {inputStream new FileInputStream(sourceFile);outputStream new FileOutputStream(destFile);byte[] buffer new byte[1024];int length;while ((length inputStream.read(buffer)) ! -1) {outputStream.write(buffer, 0, length);}} finally {if (inputStream ! null) {inputStream.close();}if (outputStream ! null) {outputStream.close();}}}ImageItem public class ImageItem {private String imageUrl;public ImageItem(String imageUrl) {this.imageUrl imageUrl;}public String getImageUrl() {return imageUrl;} } ImageAdapter import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView;import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView;import com.bumptech.glide.Glide;import java.util.List;public class ImageAdapter extends RecyclerView.AdapterImageAdapter.ViewHolder {private ListImageItem imageList;private Context context;public ImageAdapter(ListImageItem imageList, Context context) {this.imageList imageList;this.context context;}NonNullOverridepublic ViewHolder onCreateViewHolder(NonNull ViewGroup parent, int viewType) {View view LayoutInflater.from(context).inflate(R.layout.item_image, parent, false);return new ViewHolder(view);}Overridepublic void onBindViewHolder(NonNull ViewHolder holder, int position) {ImageItem item imageList.get(position);String imageUrl item.getImageUrl();// 使用Glide加载图片Glide.with(context).load(imageUrl).into(holder.imageView);}Overridepublic int getItemCount() {return imageList.size();}public class ViewHolder extends RecyclerView.ViewHolder {ImageView imageView;public ViewHolder(NonNull View itemView) {super(itemView);imageView itemView.findViewById(R.id.image_view);}} }
http://www.ho-use.cn/article/10819637.html

相关文章:

  • 网站定位广告清华大学自动化系
  • 南宁学网站开发上海互联网网站建设公司
  • 域名做非法网站wordpress+h5幻灯片
  • 学畅留学招聘网站开发主管ps软件免费下载安装
  • 成都网站建设索q479185700杭州网络
  • 鹰潭市网站建设公司ftp网站服务器
  • 廊坊网站建设推广服务北京百度推广投诉电话
  • html5 手机 网站目前网站软件
  • 营口电商平台网站建设免费flash网站源码带后台
  • 在线海报设计网站哪个网站可以做封面
  • 北京最好的网站建设多国语言网站
  • 金华网站建设yw126互联网行业最有前景的十大职业
  • 深圳做二维码网站设计嵌入式软件开发工程师待遇
  • wordpress主题识别南宁seo 网站收录
  • 通辽网站设计网站建设 阳江
  • 百度网站地址提交软件下载网站免费大全
  • 铁岭免费移动网站建设免费域名freenom
  • 手机网站对企业用户的好处河南新乡做网站公司
  • 国外大神的平面设计网站有哪些初中生怎么做网站
  • 微信公众号开发是否需要建立网站官方网站建设银行信用卡
  • 深圳网站设计与制作公司wordpress文章多个分类显示不出来
  • cms网站设计国外开源 企业网站
  • 青岛响应式网站设计公司网站制作需要什么步骤
  • 设计logo网站推荐网站推广怎么做优化
  • 电影网站膜拜一般小程序开发多少钱
  • 移动端网站建设的尺寸汕头网站设计价格
  • 推荐郑州网站建设公司优秀vi设计网站
  • 公司网站建设外包流程图湖南宁乡建设局网站
  • 电子商务网站建设培训课件中国最新军事新闻最新消息视频
  • 外贸营销网站建设介绍在哪进入网站后台