close
تبلیغات در اینترنت
Android.mk , shared preference , C++ NDK , آموزش ایجاد شی تنظیمات اشتر
صفحه اصلی پرشین استک

{ پرشین استک }

به دنیای برنامه نویسی خوش آمدید
|


پرشین استک تنها یک سایت نیست بلکه یک پروژه همگانی می باشد


تعداد مطالب :
142


تعداد توسعه دهندگان :
11


تاریخ امروز :
جمعه 29 تیر 1397

به کانال تلگرام ما بپیوندید


×

لیست سوالات من

افزودن

چگونه می توان در C++ NDK شی تنظیمات اشتراک (Shared Preferences) ایجاد کرد و مقدار بولی را ذخیره کرد ؟

من یک پروژه ایجاد کردم که با استفاده از android.mk به ++C متصل شده . بنابراین زمانی که من متد را از جاوا فراخوانی می کنم ، باید مقدار بولی رو داخل شی تنظیمات اشتراک (Shared Preferences) ذخیره کنه .

این متد JNI من هست :

extern" C"
JNIEXPORT void JNICALL
Java_com_example_sample_storeBoolean(JNIEnv *env,jobject instance){
//TODO
const char *name ="hello";
__android_log_print(ANDROID_LOG_ERROR,"TRACKERS","***** %s *****", name);
}



ورودی معمولی که من چاپ کردم در حال کار هست و فقط نیاز به ایجاد شی تنظیمات اشتراک (Shared Preferences) و ذخیره مقدار بولی هست .

 

SharedPreferences prefs = context.getSharedPreferences("myprefdata",Context.MODE_PRIVATE);
prefs.edit().putBoolean("settingnootification",true).commit();
public abstract SharedPreferences getSharedPreferences(String name,int mode);
نیاز دارم که این متد رو در ++C استفاده کنم .

 

پاسخ 1 :
من فقط متد saveBoolean(boolean bool) در MainActivity از JNI رو فراخوانی کردم و اون مقدار رو ذخیره کرد . اینجا کد MainActivity هست :
public class MainActivity extends AppCompatActivity{

// Used to load the 'native-lib' library on application startup.
static{
System.loadLibrary("native-lib");
}

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
stringFromJNI(this);
}

/**
* A native method that is implemented by the 'native-lib' native library,
* which is packaged with this application.
*/

public native void stringFromJNI(MainActivity mainActivity);
public void saveBoolean(boolean bool){
SharedPreferences sharedPreferences = this.getSharedPreferences("Test",Context.MODE_PRIVATE);
sharedPreferences.edit().putBoolean("testBool",bool).commit();
Log.d("MainActivity","saveBoolean Called "+bool);
}
#include <jni.h>
#include <string>

extern" C"
JNIEXPORT void JNICALL
Java_com_android_techgig_sharedpref_MainActivity_stringFromJNI(JNIEnv *env,jobject obj /* this */){

jclass cls =(env)->GetObjectClass(obj);//for getting class
jmethodID mid =(env)->GetMethodID(cls,"saveBoolean","(Z)V");//for getting method signature, Z for boolean
if(mid ==0)
return;
//will return 0 in case of class not found
(env)->CallVoidMethod(obj, mid,true);//now calling actual method
printf("native called");
}

اینجا انواع روش امضا (signature) وجود دارد :

Signature Java Type
Z boolean
B byte
C char
S short
I int
J long
F float
D double

اینجا لینکی برای اطلاعات بیشتر هست

44

16 / 05 / 1396

PERSIAN STACK


چرا گاهی اوقات API موقعیت مکانی سرویس گوگل پلی ، موقعیت مکانی اشتباهی را برمی گرداند ؟

ادامه مطلب

613

چگونه نرم افزار ضبط صدای اندرویدی بسازیم ؟

ادامه مطلب

549

چرا TextView کلمات را با حروف می شکند ؟

ادامه مطلب

497

دانلود تمامی API های اندروید

ادامه مطلب

433

قسمت شانزدهم - جدول ها در HTML

ادامه مطلب

419

چرا وبسایت تجارت الکترونیک Magento 2 در Webview اندروید کار نمی کند ؟

ادامه مطلب

363

دانلود پروژه نمایش جستجوی کتاب برای اندروید

ادامه مطلب

347

چگونه Google API برای سطح API 25 را پیدا کنیم ؟

ادامه مطلب

343

دانلود سورس کد بازی اندرویدی Klooni 1010! + فایل APK

ادامه مطلب

259

آیا راهی برای یافتن تغیرات ماه در نمای تقویم اندروید (calendar view) وجود دارد ؟

ادامه مطلب

243

در تکمیل خودکار اندروید ، دلیل dispatchProvideAutofillStructure() not laid out چیست ؟

ادامه مطلب

231

چرا زمانی که با استفاده از cordova در اندروید 7.0 ، اس ام اس ارسال می کنیم ، با اثتثنای (Exception) امنیتی مواج

ادامه مطلب

227

آموزش ساخت و شخصی سازی Navigation Drawer در اندروید استودیو

ادامه مطلب

211

دانلود تمامی نسخه های gradle برای اندروید

ادامه مطلب

195

دانلود سورس کد اپلیکیشن هواشناسی برای اندروید + فایل APK

ادامه مطلب

179

چگونه ارور com.bumptech.glide.Registry$NoModelLoaderAvailableException: Failed to find any ModelLoaders را در اندروید رفع کنیم ؟

ادامه مطلب

171

دانلود اسکریپت جاوای PS-CH# - ایجاد ورودی متنی پیشرفته

ادامه مطلب

121

دانلود کتابخانه Retrofit برای اندروید + پروژه

ادامه مطلب

117

دانلود سورس کد تمامی نسخه های تلگرام + فایل های نصبی

ادامه مطلب

113

دانلود کتابخانه GSON برای اندروید + پروژه

ادامه مطلب

111

دانلود اسکریپت جاوای PS-CH# - ایجاد ورودی متنی پیشرفته

ادامه مطلب

یکشنبه 05 آذر 1396

قسمت هفدهم - لیست ها در HTML

ادامه مطلب

یکشنبه 21 آبان 1396

چگونه می توان با استفاده از CSS ، رنگ placeholder را تغییر داد ؟

ادامه مطلب

یکشنبه 21 آبان 1396

قسمت شانزدهم - جدول ها در HTML

ادامه مطلب

شنبه 20 آبان 1396

دانلود تمامی نسخه های gradle برای اندروید

ادامه مطلب

شنبه 20 آبان 1396

قسمت پانزدهم - عکس ها در HTML

ادامه مطلب

جمعه 19 آبان 1396

قسمت چهاردهم - لینک ها در HTML

ادامه مطلب

یکشنبه 14 آبان 1396

آموزش ساخت و شخصی سازی Navigation Drawer در اندروید استودیو

ادامه مطلب

یکشنبه 14 آبان 1396

قسمت سیزدهم - CSS در HTML

ادامه مطلب

شنبه 13 آبان 1396

قسمت بیست و پنجم (قسمت آخر) - آموزش ساخت بازی حدس

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و چهارم - آموزش نحوه ی پردازش فایل ها در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و سوم - برنامه تکمیلی جاوا (6)

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و دوم - معرفی آرایه ها در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیست و یکم - برنامه تکمیلی جاوا (5)

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت بیستم - معرفی مفهوم وراثت در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت نوزدهم - برنامه تکمیلی جاوا (4)

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت هجدهم - معرفی عبارات کنترلی در جاوا

ادامه مطلب

پنجشنبه 11 آبان 1396

قسمت هفدهم - برنامه تکمیلی جاوا (2-3)

ادامه مطلب

چهارشنبه 10 آبان 1396

چگونه در برنامه نویسی اندروید ، یک ListView با متن و عکس بسازیم ؟

ادامه مطلب

سه شنبه 09 آبان 1396

چگونه در برنامه نویسی اندروید از فونت شخصی خود استفاده کنیم ؟

ادامه مطلب

سه شنبه 09 آبان 1396

دانلود اسکریپت جاوای PS-CH# - ایجاد ورودی متنی پیشرفته

ادامه مطلب

قسمت هفدهم - لیست ها در HTML

ادامه مطلب

چگونه می توان با استفاده از CSS ، رنگ placeholder را تغییر داد ؟

ادامه مطلب

قسمت شانزدهم - جدول ها در HTML

ادامه مطلب

دانلود تمامی نسخه های gradle برای اندروید

ادامه مطلب

قسمت پانزدهم - عکس ها در HTML

ادامه مطلب

قسمت چهاردهم - لینک ها در HTML

ادامه مطلب

آموزش ساخت و شخصی سازی Navigation Drawer در اندروید استودیو

ادامه مطلب

قسمت سیزدهم - CSS در HTML

ادامه مطلب

قسمت بیست و پنجم (قسمت آخر) - آموزش ساخت بازی حدس

ادامه مطلب

قسمت بیست و چهارم - آموزش نحوه ی پردازش فایل ها در جاوا

ادامه مطلب

قسمت بیست و سوم - برنامه تکمیلی جاوا (6)

ادامه مطلب

قسمت بیست و دوم - معرفی آرایه ها در جاوا

ادامه مطلب

قسمت بیست و یکم - برنامه تکمیلی جاوا (5)

ادامه مطلب

قسمت بیستم - معرفی مفهوم وراثت در جاوا

ادامه مطلب

قسمت نوزدهم - برنامه تکمیلی جاوا (4)

ادامه مطلب

قسمت هجدهم - معرفی عبارات کنترلی در جاوا

ادامه مطلب

قسمت هفدهم - برنامه تکمیلی جاوا (2-3)

ادامه مطلب

چگونه در برنامه نویسی اندروید ، یک ListView با متن و عکس بسازیم ؟

ادامه مطلب

چگونه در برنامه نویسی اندروید از فونت شخصی خود استفاده کنیم ؟

ادامه مطلب

× برای نظر گذاشتن یا پاسخ دادن به سوالات باید در سایت عضو باشید !

برای حمایت از ما روی بنر های زیر کلیک کنید .

برای سفارش تبلیغات به ما ایمیل بزنید .

ارتباط با ما