Articles of android context

如何将(Android)应用程序上下文传递给Java类?

我有以下代码,我使用应用程序上下文来检索所需的信息: public class Data{ private boolean VarA; public void setVarA(boolean B,Context ctx) { SharedPreferences CoreDataStorage = ctx.getSharedPreferences(PREFS_NAME, 0); SharedPreferences.Editor editor = CoreDataStorage.edit(); editor.putBoolean(“PrefVarA”, VarA); edit.commit(); } } 现在我从下面的类调用public方法setVarA() public class MyActivity extends Activity{ Data cd = new Data(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.registration); cd.setVarA(true,this); } } 在上面的活动中,它显示了我无法从MyActivity转换为Context的编译错误。 请建议任何解决方案。 上面的代码是不是传递上下文的正确方法?

在实现Runnable的类中获取上下文

我有一个Android的应用程序,在与UI不同的线程中(实现Runnable) 我收到一些数据(纬度和经度forms的GPS数据)和这个数据我 想通过将其传递给Geocoderfind正确的地址……之后Geocoder返回的地址将其存储在数据库中: 以下是我做这些事情的方法: public class Client implemets Runnable{ public void run() { Geocoder myLocation=new Geocoder(getApllicationContext,Locale.getDefault()); } } 但我在这里得到错误: Geocoder myLocation=new Geocoder(getApplicationContext,Locale.getDefault()); Runnable不知道是谁getApplicationContext是…..我尝试用“this”而不是相同的故事…… 现在哪个是传递给Geocoder构造函数的正确上下文???? 以下是Geocoder构造函数的外观: Geocoder myLocation =new Geocoder(context,locale); 在我的活动中,我这样做: public class Server2 extends Activity { public void onCreate(Bundle icicle) { ClientThread_special client = new ClientThread_special(db);//here is where I start thread new Thread(client).start(); } } […]

方法getResources()和上下文未定义types

我使用getString()从string.xml成为String。 在我的class级(非活动)不起作用: context.getResources()。的getString() getResources()。的getString() context.getResources()。的getString() 如何将String添加到此类? public class myClass{ public String[] myInfo(String ID) { String myString = getRessources().getString(R.string.myString); }; }

Toast.makeText(…)。show()有时会错位

我正在使用Toast.makeText来显示对话框的结果并且有一个奇怪的问题:文本显示在应该保持它的框架上方,如下所示: 消息未与帧错位。 请更好地对齐它。 [ _ __ _ __ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___ 我通常使用的代码看起来像 Toast bread = Toast.makeText(getContext(), R.string.message, […]

有没有办法从不扩展Activity类的类调用`overridePendingTransition`?

我正在使用另一个类在后台运行一些东西,同时显示主要活动,并将该活动的上下文传递给此背景类。 我正在从这个后台类开始另一个活动,但是我无法在这里调用overridePendingTransition ,因为对于typesBackgroundClass,“方法overridePendingTransition(int,int)是未定义的。” public class GetUPC extends AsyncTask { @Override protected void onPreExecute() { … } @Override protected Void doInBackground(Void… arg0) { … boolean dairy; if(theDairy.equals(“N”)) { //milk test dairy=true; } else { dairy=false; } //depending on if there is a warning it will either display the warning screen or skip it if(dairy) { Intent […]

Runnable中的上下文

我尝试播放R.raw的声音。 在一个线程/ Runnable内但我不能让它工作。 new Runnable(){ public void run(){ //这给了我一个NullPointerException,因为getBaseContext为null MediaPlayer mp = MediaPlayer.create(getBaseContext(),R.raw.soundfile); while(true){ 如果(某事) 发挥一些东西 } } 如何在run方法中获得真正的Context? 无论我尝试什么,它都是null。 或者有更好的方法吗?

如何在Fragment上调用getBaseContext()

我有这个方法,可以从正常活动调用: getBaseContext().getResources().updateConfiguration(config2, getBaseContext().getResources().getDisplayMetrics()); 问题是我不能在Fragment中调用getBaseContext() ,我怎么能这样做? 或者我需要从Fragment类中替换getBaseContext() ?

java.lang.VerifyError:拒绝Class X.

屏幕冻结在启动时。不会得到此错误任何帮助将是可感知的。日志附在下面。 提前致谢。 拒绝类android.support.v4.content.ContextCompat因为编译时validation失败(’android.support.v4.content.ContextCompat’的声明出现在/data/app/package.android-1/base.apk中)java .lang.VerifyError:拒绝类android.support.v4.content.ContextCompat,因为编译时validation失败(’android.support.v4.content.ContextCompat’的声明出现在/ data / app / package-name / base中。 apk)位于android.support.v7.Tidget上的android.support.v7.widget.TintTypedArray.getDrawableIfKnown(TintTypedArray.java)的android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java)。(AppCompatDelegateImplBase。 java)在android.support.v7.app.AppCompatDelegateImplV11上的android.support.v7.app.AppCompatDelegateImplV9。(AppCompatDelegateImplV9.java)。(android.com.support.v7.app.AppCompatDelegateImplV14上的AppCompatDelegateImplV11.java。)(AppCompatDelegateImplV14.java)在android.support.v7.app.AppCompatDelegateImplV23。 (appCompatDelegateImplV23.java)位于android.support.v7.app.App.DeCompateAcreate(appCompatDelegate.java),位于android.support.v7.app.AppCompatActivity的android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java)。 getDelegate(AppCompatActivity.java:519)位于android.support.v7.app.AppCompatActivity.0onCreate(AppCompatActivity.java)的android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java)位于.android.activity.SplashScreen。 0onCreate(SplashScreen.java)位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)android.app.Activity.performCreate(Activity.java:6876)的.android.activity.SplashScreen.onCreate(SplashScreen.java)在Android.app.A活动时的android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3207)上的android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3350)android.app.ActivityThread.access $ 1100(ActivityThread.java:222) .ActivityThread $ H.handleMessage(ActivityThread.java:1795)在android.os.Handler.d ispatchMessage(Handler.java:102)位于android.app.Looper.loop(Looper.java:158)的android.app.ActivityThread.main(ActivityThread.java:7229),位于java.lang.reflect.Method.invoke(Native方法)com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1230)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 依赖关系: dependencies { implementation fileTree(include: [‘*.jar’], dir: ‘libs’) implementation ‘com.android.support:appcompat-v7:26.1.0’ implementation ‘com.android.support.constraint:constraint-layout:1.0.2’ implementation ‘com.android.support:cardview-v7:26.1.0’ implementation ‘com.android.support:recyclerview-v7:26.1.0’ implementation ‘com.android.support:support-v4:26.1.0’ implementation ‘com.android.support:design:26.1.0’ implementation ‘com.google.android.gms:play-services-vision:11.0.2’ implementation ‘com.android.volley:volley:1.0.0’ implementation ‘org.apache.httpcomponents:httpmime:4.2.3’ implementation ‘de.hdodenhof:circleimageview:2.0.0’ implementation ‘com.github.bumptech.glide:glide:4.1.1’ […]

什么是Android上下文,为什么需要

可能重复: Android中的Context是什么? 我想知道Android的Context是什么,以及为什么需要它。 我知道它与课程有关,每个class级都有独特的背景。 我在一些代码中看到,在调用另一个类的方法时会传递一个Context。 我不明白为什么需要它。 请帮忙。

在具有非静态片段的布局上有效地使用布局编辑器

随着所有Android开发工具的出色,特别是从版本21开始,图形布局编辑器是一个function强大的工具,可以对布局进行可视控制,并为每个配置和区域设置片段。 我知道一个典型的Activity的布局XML将包含静态fragment标签,其中嵌入了用于布局编辑器的信息,例如tools:layout=”@layout/book_collection_view_window_list” 。 但是,因为我需要动态替换窗口中的Fragments ,所以我不能使用静态fragment标记,而是需要提供容器,例如FrameLayout ,我可以在replace()引用它。 是否有类似tools:layout东西tools:layout或tools:context我可以在这个容器上使用tools:context所以在布局编辑器中不仅仅是黑色空白,所以我可以利用它给我的设计和validationfunction?