问题描述
- Android工程导入Eclipse运行问题
-
当我将Android studio中的文件导入到Eclipse中时,原本在Android studio中运行在真机上会加载网络图片,可是导入到Eclipse中却载入不了网络图片,而且进度条的样式也改变了。
MainAcitivity.java文件如下:
package com.example.imagedemo;import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ProgressBar;import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;public class MainActivity extends Activity implements View.OnClickListener {
private static final String[] params={
"http://p0.so.qhimg.com/bdr/_240_/t013971ecacef25bf25.jpg",
"http://p4.so.qhimg.com/t018349127914f495ce.jpg"
};
private Button btnFirst;
private ProgressBar progress;
private Bitmap bitmap=null;@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnFirst = (Button) findViewById(R.id.btnFirst);
progress = (ProgressBar) findViewById(R.id.progress);
btnFirst.setOnClickListener(this);} @Override public void onClick(View v) { progress.setVisibility(View.VISIBLE); progress.setMax(100); MyASyncTask task = new MyASyncTask(); task.execute(params); } public class MyASyncTask extends AsyncTask<String, Integer, Bitmap> { protected Bitmap doInBackground(String... params) { int read; byte[] chars = new byte[1024]; Bitmap bitmap=null; InputStream inputStream = null; try { URL url = new URL(params[0]); HttpURLConnection con=(HttpURLConnection) url.openConnection(); con.setDoInput(true);//如果不设置的话,默认是true,它的意思是如果需要读取url上网络的数据时,必须要设置成true con.connect(); inputStream=con.getInputStream();//先要获取目标URL的地址的输入流 bitmap= BitmapFactory.decodeStream(inputStream);//通过BitmapFactory的decodeStream方法解析输入流 while((read=inputStream.read(chars))!=-1) { read+=chars.length; publishProgress(read); try { Thread.sleep(1300); } catch (InterruptedException e) { e.printStackTrace(); } } inputStream.close(); } catch (MalformedURLException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } return bitmap; } @Override protected void onProgressUpdate(Integer... values) { //当publichProcess被调用以后,UI线程将调用这个有方法在界面上展示任务的情况,比如一个额进度条。这里是更新进度条 int value=values[0]; progress.setVisibility(View.VISIBLE); progress.setBackgroundColor(Color.YELLOW); progress.setProgress(value); super.onProgressUpdate(values); } /*在 onPostExecute(Result) 中是请求获得结果后更新UI部分。你会看到他的参数就是我们类中的类型参数。代码如下*/ protected void onPostExecute(Bitmap Result){ ImageView imgView = (ImageView)findViewById(R.id.image);; imgView.setImageBitmap(Result); progress.setVisibility(View.VISIBLE); /*不显示进度条,当图片加载进来后,立马就占了进度条的位置*/ btnFirst.setText("图片下载完毕"); } }
}
布局文件如下:
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"><Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/btnFirst" android:text="开始下载"/> <ProgressBar android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/progress" android:visibility="invisible" android:max="100" style="?android:attr/progressBarStyleHorizontal"/> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/image" />
解决方案
进度条的样式改变是因为主题的原因。
图片的问题可能是网络权限的问题。、
解决方案二:
eclipse工程导入android studio遇到的问题
eclipse导入工程中文乱码问题
eclipse导入工程中文乱码问题
解决方案三:
clean一下工程试试看效果。
解决方案四:
进度条的样式改变 很有可能是 版本上的问题 可以试着切换下版本 eclipse中 运行 不能加载图片 看是否是上网权限 或者 只是因为没有网络
解决方案五:
你确定你导入的是Android Project而不是Gradle Project?
解决方案六:
看看流读取有没有数据,如果没有可能是权限问题或者网络问题
如果有数据而你的进度条又没有改变,那就要重新设置样式
解决方案七:
2121gjfhhjgfjfgxj
解决方案八:
2121gjfhhjgfjfgxj