小编DJ-*_*DOO的帖子

具有多个片段的活动的MVP

我有一个包含两个片段的活动.

activity(MainActivity)从开放的天气api中检索数据.我已经实现MVP此,其中: Model包含所有响应对象从API
ViewActivity
Presenter包含MainPresenter,MainPresenterImpl,MainView,GetDataInteractorGetDataInteractorImpl.

因此,活动从Web服务获取数据.两个片段都将显示活动中检索到的数据中的数据.

在这种情况下使用MVP的最佳做法是什么?我知道如何通过接口/回调在片段< - >活动之间传递数据,我的问题是在实现MVP时这种行为会改变吗?

mvp android interface android-fragments

38
推荐指数
1
解决办法
1万
查看次数

Android Studio默认以调试模式启动

我一直在研究一个项目,当我在android studio中运行它时,它运行正常,当我在调试模式下运行时,它运行正常.

突然之间,当我尝试正常运行项目时,它会在设备上弹出,等待调试器

在logcat我得到这个:

02-07 10:38:46.444    3968-3968/com.geog.test D/dalvikvm? Late-enabling CheckJNI
02-07 10:38:46.784    3968-3968/com.geog.test W/ActivityThread? Application com.geog.visitdub is waiting for the debugger on port 8100...
02-07 10:38:46.804    3968-3968/com.geog.test I/System.out? Sending WAIT chunk
Run Code Online (Sandbox Code Playgroud)

它不会再进一步​​了.我不知道为什么会发生这种情况,清单中没有调试命令,我已经杀死了adb并重新启动,就像我在android studio中所做的那样.

这是一个真正的痛苦,因为我无法通过调试模式运行应用程序.如果有人有任何想法,我想听听他们

谢谢

debugging android-studio

27
推荐指数
2
解决办法
1万
查看次数

在Android片段中使用onBackPressed()

我正在研究一个项目,我需要能够使用每个片段中的后退按钮在之前的片段之间导航,我有使用操作栏中的后退箭头编写的方法,但是,我希望能够按下后退按钮使用相同的功能.我不想使用后台堆栈.有没有办法做到这一点?

编辑

我希望能够在用户单击后退按钮时调用返回上面的方法,而不是使用后台堆栈.我需要在片段中使用gobackpressed方法.这可能吗?我希望这清楚而简洁.对上面引起的任何混淆道歉.

回到上一页

public void gobackToPreviousFragment(String preFragmentTag, Fragment preFragment){

    FragmentManager  fm = getSupportFragmentManager();

    FragmentTransaction ft = fm.beginTransaction();
    ft.setCustomAnimations(R.animator.close_slide_in,R.animator.close_slide_out);

    ft.show(preFragment);

    //**BY REMOVING FRAGMENT, WHEN USER TRIES TO REVISIT, FRAGMENT IS BLACK**

    ft.remove(fm.findFragmentByTag(Misc.currentContentFragmentTag));
    ft.addToBackStack(null);
    ft.commit();

    Misc.currentContentFragmentTag = preFragmentTag;

    createBar(preFragment);
}
Run Code Online (Sandbox Code Playgroud)

直走

public void gotoNextFragment(String nextTag, Fragment nextFragment){

    FragmentManager  fm = getSupportFragmentManager();

    FragmentTransaction ft = fm.beginTransaction();
    ft.setCustomAnimations(R.animator.enter_slide_in, R.animator.enter_slide_out);

    boolean newlyCreated = false;
    if(nextFragment == null){
        nextFragment = Fragment.instantiate(this, nextTag);
        newlyCreated = true;
    }

    //hide current fragment
    ft.hide(fm.findFragmentByTag(Misc.currentContentFragmentTag));

    if(newlyCreated){
        ft.add(R.id.content_frame, nextFragment, nextTag);
    } …
Run Code Online (Sandbox Code Playgroud)

android fragment

24
推荐指数
2
解决办法
11万
查看次数

Google Maps CameraUpdateFactory未初始化

我通过crashlytics从用户体验中得到一些报告给我一个错误

Fatal Exception java.lang.NullPointerException         
CameraUpdateFactory is not initialized
Run Code Online (Sandbox Code Playgroud)

这不是常规崩溃,因为它不是每个用户都会发生,但它变得过于规则,我需要解决它.

我曾经读过,如果地图尚未初始化,我认为我已经覆盖过这种情况

if(googleMap!=null){
                googleMap.animateCamera(CameraUpdateFactory.newLatLng(selectedLatLng));
            }  
Run Code Online (Sandbox Code Playgroud)

也可能是因为谷歌播放服务不在设备上或已经过时,我也为此添加了一些验证.

   public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(FuelsFragment.this.getActivity());

    // Showing status
    //CAMERAUPDATE FACTORY CRASH CAN BE A RESULT OF GOOGLE PLAY SERVICES NOT INSTALLED OR OUT OF DATE
    //ADDITIONAL VERIFICATION ADDED TO PREVENT FURTHER CRASHES

    //https://github.com/imhotep/MapKit/pull/17
    if(status == ConnectionResult.SUCCESS)
    {
        mMapFragment = ReepMapFragment.newInstance();

        FragmentTransaction fragmentTransaction = getChildFragmentManager().beginTransaction();
        fragmentTransaction.add(R.id.mapContainer, mMapFragment);
        fragmentTransaction.commit();

    }
    else if(status == ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED){

        reep.toastNotify("You need to update Google Play Services in order …
Run Code Online (Sandbox Code Playgroud)

android google-maps

22
推荐指数
3
解决办法
2万
查看次数

Android Espresso问题 - 依赖冲突

我正在尝试将espresso集成到我的ui测试应用程序中.这是我在Gradle中的依赖项

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.android.support:design:22.2.1'
    compile 'com.github.bumptech.glide:okhttp-integration:1.3.1@aar'
    compile 'com.squareup.okhttp:okhttp:2.0.0'
    compile 'de.hdodenhof:circleimageview:1.3.0'
    compile 'com.android.support:cardview-v7:21.+'
    compile 'com.android.support:recyclerview-v7:21.+'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2'
    androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2'
    compile 'com.android.support:support-annotations:22.2.0'
    androidTestCompile 'com.android.support.test:runner:0.3'
    compile project(':common')
    compile project(':service')
}
Run Code Online (Sandbox Code Playgroud)

所以我的espresso依赖项都包括在内.但是,当我尝试构建时,我收到此错误:

Warning:Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (22.2.1) and test app (22.2.0) differ.

有没有遇到过这个?我发现它在这里报道但是没有解决方案.有人有解决方法吗?

android android-gradle-plugin android-espresso

18
推荐指数
4
解决办法
1万
查看次数

MVP Android - 有多少主持人?

我有一个快速的问题.我正在努力(并努力)用MVP设计模式设计我的应用程序.

我可以问,对于每个视图(活动,片段)我应该有一个单独的演示者类吗?

我在网上看到的资源并不多,显然有样本说明了MVP.如果他们有一些人可以共享吗?

PS我也在这个应用程序中使用RecyclerViewAdapter所以任何关于它的指针将不胜感激

提前致谢

mvp android

14
推荐指数
2
解决办法
2469
查看次数

java.lang.NumberFormatException:预期为int但在第1行第8454行为0.6

我在演示项目中使用改装库进行调用.

我收到以下错误:

java.lang.NumberFormatException:期望一个int,但在第1行第8454行是0.6.路径$ .result.results.ads [2] .acres

我认为这归功于GSON.

我会告诉你它被抓到的JSON:

   {  
       "ad_id":739580087654,
       "property_type":"site",
       "house_type":"",
       "selling_type":"private-treaty",
       "price_type":"",
       "agreed":0,
       "priority":2,
       "description":"Beautiful elevated 0.6 acre site - zoned residential - and within easy walk to this popular and scenic coastal village\r\n\r\n\r\nthe site area is zoned residential ( i.e. can be constructed on for residential home) and has beautiful coastal views\r\n\r\nSpiddal is an exceptionally popular location , just 8 miles west of Galway City but the area has not been over developed.\r\n\r\nAll services and family amenities …
Run Code Online (Sandbox Code Playgroud)

java android gson retrofit retrofit2

11
推荐指数
1
解决办法
1万
查看次数

使用Facebook在Android App上注册新用户

目前我已经设置了我的Android应用程序,以便用户可以通过Facebook登录该应用程序.但是,我希望能够为用户提供在Facebook注册的选项,但是,似乎没有任何关于此的文档.我已经在网上搜寻了,我找不到任何东西.

有谁知道如何实现这一点,甚至让我走上正确的道路?请不要将我链接到fb开发者应用程序,因为我找不到与此相关的任何内容.

提前致谢!!

android facebook

8
推荐指数
1
解决办法
3655
查看次数

在appuard混淆之后,Android应用程序崩溃了

我在我的应用程序上运行了proguard工具来进行混淆.我知道,当混淆发生时,proguard会缩小并优化应用程序.因此,在混淆应用程序正确打开后,然后当我尝试登录时崩溃.我得到的最好的是这个日志,因为我连接了设备.

10-03 11:12:47.384: E/AndroidRuntime(15058): FATAL EXCEPTION: AsyncTask #1
10-03 11:12:47.384: E/AndroidRuntime(15058): java.lang.RuntimeException: An error     occured while executing doInBackground()
10-03 11:12:47.384: E/AndroidRuntime(15058):    at     android.os.AsyncTask$3.done(AsyncTask.java:299)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at     java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at java.util.concurrent.FutureTask.run(FutureTask.java:239)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at java.lang.Thread.run(Thread.java:856)
10-03 11:12:47.384: E/AndroidRuntime(15058): Caused by: java.lang.ExceptionInInitializerError
10-03 11:12:47.384: E/AndroidRuntime(15058):    at com.winwin.a.d.c.doInBackground(Unknown Source)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at com.winwin.a.d.c.doInBackground(Unknown Source)
10-03 11:12:47.384: E/AndroidRuntime(15058):    at …
Run Code Online (Sandbox Code Playgroud)

obfuscation android proguard

8
推荐指数
1
解决办法
1万
查看次数

Google Analytics v4 - 数据未显示在信息中心上

我一直在努力将Google Analytics v4集成到我的应用程序中.我已按照此操作:https://developers.google.com/analytics/devguides/collection/android/v4/但是,我的分析仪表板未显示任何数据.

以下是我在应用程序文件中设置的方法:

private static final String PROPERTY_ID = "UA-*******-*";

public enum TrackerName {
    APP_TRACKER, // Tracker used only in this app.
    GLOBAL_TRACKER, // Tracker used by all the apps from a company. eg: roll-up tracking.
    ECOMMERCE_TRACKER, // Tracker used by all ecommerce transactions from a company.
 }


public synchronized Tracker getTracker(TrackerName trackerId) {

    if (!mTrackers.containsKey(trackerId)) {

        GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
        Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(PROPERTY_ID)
        :(trackerId == TrackerName.GLOBAL_TRACKER) ? analytics.newTracker(R.xml.global_tracker)
        : …
Run Code Online (Sandbox Code Playgroud)

android google-analytics android-fragments google-analytics-firebase

8
推荐指数
1
解决办法
3527
查看次数