ورود

View Full Version : اجرای این کلاس از کلاسی دیگر



intel_amd
سه شنبه 29 اردیبهشت 1394, 10:33 صبح
سلام دوستان , کلاس زیر کلاسی است که کافه بازار برای بررسی ورژن نرم افزار قرار داده و می خوام از کلاسی دیگر این را اجرا کنم و نتیجه را استفاده کنم


public class MainActivity extends Activity {

IUpdateCheckService service;
UpdateServiceConnection connection;
private static final String TAG = "UpdateCheck";

class UpdateServiceConnection implements ServiceConnection {
public void onServiceConnected(ComponentName name, IBinder boundService) {
service = IUpdateCheckService.Stub
.asInterface((IBinder) boundService);
try {
long vCode = service.getVersionCode("your.app.packagename");
Toast.makeText(MainActivity.this, "Version Code:" + vCode,
Toast.LENGTH_LONG).show();
} catch (Exception e) {
e.printStackTrace();
}
Log.e(TAG, "onServiceConnected(): Connected");
}

public void onServiceDisconnected(ComponentName name) {
service = null;
Log.e(TAG, "onServiceDisconnected(): Disconnected");
}
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
initService();
...
}

private void initService() {
Log.i(TAG, "initService()");
connection = new UpdateServiceConnection();
Intent i = new Intent(
"com.farsitel.bazaar.service.UpdateCheckService.BIN D");
i.setPackage("com.farsitel.bazaar");
boolean ret = bindService(i, connection, Context.BIND_AUTO_CREATE);
Log.e(TAG, "initService() bound value: " + ret);
}

/** This is our function to un-binds this activity from our service. */
private void releaseService() {
unbindService(connection);
connection = null;
Log.d(TAG, "releaseService(): unbound.");
}

@Override
protected void onDestroy() {
super.onDestroy();
releaseService();
}
}

از آنجائی که این کلاس بر اساس activity ساخته شده نمیشه از کلاس دیگر این را new کرد و اجرا کرد , به چه نحو باید انجام داد؟

tux-world
سه شنبه 29 اردیبهشت 1394, 14:18 عصر
این فقط یه مثاله و از زیر کلاس UpdateServiceConnection استفاده کرده. اینو بیار بیرون داخل یه کلاس مستقل بزار ازش استفاده کن. کاری نداره که :لبخندساده:

intel_amd
چهارشنبه 30 اردیبهشت 1394, 05:55 صبح
زیر کلاس
UpdateServiceConnection را به شکل یک کلاس مستقل نوشتم و در کلاس مجزای دیگری رفتم ازش نمونه بگیرم و اجراش کنم اما میگه از کلاس UpdateServiceConnection نمیشه نمونه گرفت

intel_amd
چهارشنبه 30 اردیبهشت 1394, 06:39 صبح
مشکل از چیز دیگه بود درست شد

tux-world
چهارشنبه 30 اردیبهشت 1394, 08:13 صبح
اوکی. تشکر یادتون نره :لبخندساده: