spns33

توسعه دهنده اندروید
  • تعداد ارسال ها

    2
  • تاریخ عضویت

  • آخرین بازدید

اعتبار در انجمن

0 Neutral

درباره spns33

  • درجه
    Newbie
  1. سلام.خیلی ممنون از پاسختون من همین کار را انجام دادم، مشکل به یه شکل دیگه شد: زمانی که back میزنم و از برنامه میام بیرون و دوباره وارد میشم دیگه شمارش انجام نمیشه ولی اگر برنامه را کامل ببندم و دوباره وارد بشم شمارش ادامه پیدا میکنه. مشکل دیگه ای هم که هست اینه که یه واحد بیشتر از مقدار شمارش ذخیره میشه. کد java: package com.example.app1012.myapplication1012; import android.content.Intent; import android.content.SharedPreferences; import android.net.Uri; import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity { /*Thread mythread=new Thread(){ public void run(){ while (true) { try { m++; sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } };*/ int m = 0; String CC; TextView TEXVV,TEXVV2; TxtTimer TxtTimer1=new TxtTimer(); boolean d=true; public static String FILE_NAME="etelaat"; SharedPreferences data; public static int FILE_NAME2=0; SharedPreferences data2; public void TextUp(Integer inpu_t) { CC = Integer.toString(inpu_t); TEXVV.setText(CC); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button BUTJ1 = (Button) findViewById(R.id.BUT01); Button BUTJ2 = (Button) findViewById(R.id.BUT02); Button BUTJ3 = (Button) findViewById(R.id.BUT03); TEXVV = (TextView) findViewById(R.id.TEV02); TEXVV2=(TextView)findViewById(R.id.TEV03); //mythread.start(); TxtTimer1.execute(); data=getSharedPreferences(FILE_NAME,0); CC=data.getString("Vorodi","0"); data2=getPreferences(FILE_NAME2); m=data2.getInt("Vorodi2",0); TEXVV2.setText(Integer.toString(m)); TEXVV.setText(CC); BUTJ1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent otactiv = new Intent(MainActivity.this, Other_page.class); startActivity(otactiv); } }); BUTJ2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent abactive = new Intent(Intent.ACTION_VIEW, Uri.parse("http://site.ir")); startActivity(abactive); } }); BUTJ3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); } @Override protected void onPause() { super.onPause(); d=false; SharedPreferences.Editor editor=data.edit(); editor.putString("Vorodi",CC); editor.commit(); SharedPreferences.Editor editor2=data2.edit(); editor2.putInt("Vorodi2",m); editor2.commit(); } @Override protected void onResume() { super.onResume(); d=true; } private class TxtTimer extends AsyncTask<Object, Integer, Boolean> { @Override protected Boolean doInBackground(Object... strings) { while (m<=1000000) { if (d == true) { // کد زیر متد پروگرس رو صدا میزنه و بهش مقدار پیشرفت رو میدیم publishProgress(m, 1000000); try { m++; Thread.sleep(200); } catch (InterruptedException e) { e.printStackTrace(); } } } /*if(TxtTimer1.isCancelled()){ s=false; } else { s=true; }*/ return null; } @Override protected void onProgressUpdate(Integer... values) { super.onProgressUpdate(values); // ma do meghdar be method emun dadim, yeki meghdar pishraft dovomi kole pishraft ke dar zir be tartib una ro estefade kardim TextUp(values[0]); } @Override protected void onPostExecute(Boolean s) { super.onPostExecute(s); } } }
  2. سلام من تازه برنامه نویسی اندروید را شروع کردم؛امروز داشتم با AsyncTask کار میکردم به یه مشکلی بر خوردم: من با AsyncTask یه شمارنده ای را درست کردم که عدد را خودکار شمارش میکنه و داخل TextViwe نمایش میده. با باتن OTHER PAGE وارد اکتیویتی دوم میشه و داخل اون یک باتن هست که یک عدد را افزایش میده. باتن ABOUT هم صفحه وب را باز میکنه. باتن TIME هم فعلا کاری انجام نمیده. مشکل اینجاست ، زمانی که بک میزنم و از برنامه بیرون میام دوباره که وارد مشم داخل TextViwe هیچ چیزی نشون نمیده. من فکر میکنم مشکل از AsyncTask که داخل MainActivity هست باشه. activity_main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.app1012.myapplication1012.MainActivity" android:orientation="vertical"> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/BUT01" android:text="@string/button1" android:textSize="25sp"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/BUT02" android:layout_marginTop="25dp" android:text="@string/button2" android:textSize="25sp"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/BUT03" android:layout_marginTop="25dp" android:text="@string/time" android:textSize="25sp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="25dp" android:layout_gravity="center" android:id="@+id/TEV02"/> </LinearLayout> MainActivity.java: package com.example.app1012.myapplication1012; import android.content.Intent; import android.net.Uri; import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity { /*Thread mythread=new Thread(){ public void run(){ while (true) { try { m++; sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } } } };*/ int m = 0; String CC; TextView TEXVV; TxtTimer TxtTimer1=new TxtTimer(); boolean d=true; public void TextUp(Integer inpu_t) { CC = Integer.toString(inpu_t); TEXVV.setText(CC); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button BUTJ1 = (Button) findViewById(R.id.BUT01); Button BUTJ2 = (Button) findViewById(R.id.BUT02); Button BUTJ3 = (Button) findViewById(R.id.BUT03); TEXVV = (TextView) findViewById(R.id.TEV02); //mythread.start(); TxtTimer1.execute(); BUTJ1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent otactiv = new Intent(MainActivity.this, Other_page.class); startActivity(otactiv); } }); BUTJ2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent abactive = new Intent(Intent.ACTION_VIEW, Uri.parse("http://site.ir")); startActivity(abactive); } }); BUTJ3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); } @Override protected void onPause() { super.onStop(); d=false; } @Override protected void onResume() { super.onResume(); d=true; } private class TxtTimer extends AsyncTask<Object, Integer, Boolean> { @Override protected Boolean doInBackground(Object... strings) { while (m<=1000000) { if (d == true) { // کد زیر متد پروگرس رو صدا میزنه و بهش مقدار پیشرفت رو میدیم publishProgress(m, 1000000); try { m++; Thread.sleep(200); } catch (InterruptedException e) { e.printStackTrace(); } } } /*if(TxtTimer1.isCancelled()){ s=false; } else { s=true; }*/ return null; } @Override protected void onProgressUpdate(Integer... values) { super.onProgressUpdate(values); // ma do meghdar be method emun dadim, yeki meghdar pishraft dovomi kole pishraft ke dar zir be tartib una ro estefade kardim TextUp(values[0]); } @Override protected void onPostExecute(Boolean s) { super.onPostExecute(s); } } } string.xml: <resources> <string name="app_name">My Application1012</string> <string name="button1">OTHER PAGE</string> <string name="button2">ABOUT</string> <string name="Count">COUNTER</string> <string name="time">TIME</string> </resources> AndroidManifest.xml: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.app1012.myapplication1012"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Other_page"> <intent-filter> <action android:name="android.intent.action.Other_page" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> </application> </manifest> otherpage.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="16dp" android:paddingLeft="16dp" android:paddingRight="16dp" android:paddingTop="16dp" android:id="@+id/other"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/TEV01" android:layout_gravity="center"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/oBUT" android:text="@string/Count" android:textSize="25sp" android:layout_marginTop="25dp"/> </LinearLayout> Other_page.java: package com.example.app1012.myapplication1012; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.TextView; public class Other_page extends AppCompatActivity { int i=0; TextView TEVJ; @Override protected void onCreate(Bundle savedInstanceState2) { super.onCreate(savedInstanceState2); setContentView(R.layout.otherpage); Button oBUTJ=(Button)findViewById(R.id.oBUT); TEVJ=(TextView)findViewById(R.id.TEV01); oBUTJ.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { i++; String COU=Integer.toString(i); TEVJ.setText(COU); } }); } } پیشاپیش از راهنماییتون ممنونم.