결과 활동에서 값을 검색 할 때. 나는 아무것도 얻지 못했고, 그 값은 doInBackground
에서 onPostExecute
으로 전달되지 않았을 거예요. 어떤 생각이 잘못된거야? 또는 나는 그것을 잘못 전달하고있다.asyncTask 값이 전달되지 않음
class calculateTask extends AsyncTask<String, String, String>
{
@Override
protected String doInBackground(String... params) {
Thread t= new Thread();
try {
t.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int pix=0;
int circ=0;
int width1=mBitmap.getWidth();
int height1=mBitmap.getHeight();
for(int i=0;i<width1;i++)
{
for(int j=0;j<height1;j++)
{
if(mBitmap.getPixel(i, j)==Color.WHITE)
{
pix++;
}
if(mBitmap.getPixel(i, j)==Color.LTGRAY)
{
circ++;
}
}
}
int percentage=100-((pix-circ))*100 ;
String p=intToChar(array,percentage);
return p;
}
@Override
protected void onPostExecute(String p) {
Intent i= new Intent(circle1.this,results.class);
i.putExtra("perc", p);
startActivity(i);
//super.onPostExecute(result);
}
}
public String intToChar(char[] array, int pix) {
// TODO Auto-generated method stub
String b="";
int i = array.length - 1;
while (pix > 0 && i >= 0) {
array[i--] = (char) (48 + pix % 10);
pix /= 10;
} b = new String(array);
return b;
}
왜 백그라운드 스레드에서'Thread t = new Thread()'doInBackground가 호출 되었습니까? 앱이 다운 되나요? – Raghunandan
내가 작업하고있는 응용 프로그램은 다음 활동으로 이동하기 전에 10 초 동안 중지해야합니다. –
'sleep'은 정적 방법입니다. 변수 't'를 만들 필요가 없습니다 – aim