小编Sre*_*ari的帖子

如何在Android Studio中配置AspectJ

我正在尝试在Android Studio中配置AspectJ.
但经过一切试验和错误,它不起作用!令人惊讶的是,我能够使用Eclipse Kepler版本

.我遵循Android Studio的步骤

  1. 创建了示例Android项目
  2. 文件>设置> AspectJ在插件部分搜索AspectJ的插件
  3. 假设在Studio中没有其他工作要做,除了build.gradle文件的配置
  4. 添加compile 'org.aspectj:aspectjrt:1.8.1'到build.gradle(模块:app)
  5. Analytics_onBackPressed.aj后退按钮检测而设计
  6. Analytics_OnClick.aj点击事件检测而创建
  7. Analytics_onCreate.aj组件创建事件检测创建
  8. 创建了上面提到的*.aj类将在内部调用的必要依赖类
  9. 在Manifest中添加了必需的权限
  10. 运行项目未检测到任何事件(按钮单击,创建或单击后退按钮)
  11. 按照这些链接ReferenceLinkOne,ReferenceLinkTwoReferenceLinkThree

我的问题是使AspectJ与Android Studio一起工作所需的更多问题


Eclipse中遵循的步骤使AspectJ正常工作

  1. 下载了EclipseKepler版本
  2. 通过安装新软件选项搜索http://download.eclipse.org/tools/ajdt/43/update
  3. 已安装AspectJ Development Tools (Required).
  4. 创建示例android项目
  5. Analytics_onBackPressed.aj后退按钮检测而设计
  6. Analytics_OnClick.aj点击事件检测而创建
  7. Analytics_onCreate.aj组件创建事件检测创建
  8. 在Manifest File中添加了必需的权限
  9. 右键单击项目并通过以下方式将项目转换为AspectJ 将项目转换为AspectJ
  10. 使用AspectJ运行时库配置的Java构建路径
  11. 现在,在运行项目时,我能够检测组件oncreate,后退按钮按下

使用环境

Android Studio:2.1.2

JRE:1.8.0

Windows 7企业版

任何帮助都非常感谢! …

android aspectj android-studio aspectj-maven-plugin

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

默认情况下,AlertDialog负按钮突出显示

我正在使用带有两个按钮的警告对话框.这里的问题是每当我的警告对话框显示时,其显示的负按钮都会突出显示.这个对话框中只发生这种情况,其他工作正常.请提出一些解决方法.

这是代码:


AlertDialog.Builder alert = new AlertDialog.Builder(context);

            alert.setTitle("Stop On The Go!");
            alert.setMessage(getResources().getString(R.string.tx_confirm_msg_journey));
            alert.setPositiveButton("Stop",
                    new DialogInterface.OnClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog, int which) {

                            stopTask();
                        }
                    });
            alert.setNegativeButton("Cancel",
                    new DialogInterface.OnClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog, int which) {

                            navigateToHomePage();
                            dialog.cancel();
                        }
                    });

            alert.show();
Run Code Online (Sandbox Code Playgroud)

截图: 在此输入图像描述

android android-alertdialog

6
推荐指数
2
解决办法
4858
查看次数

android中的PlaceAutoCompleteFragment没有显示建议,输入第一个字母后关闭

Google Places APIAndroid版中的自动完成小部件服务未按预期工作.我已将片段包含在我的xml页面中,并且还将侦听器活动添加到我的onCreate().
然后我开始执行自动完成片段,我点击我想要搜索的单词的第一个字母,突然而不是显示已onError()执行的建议并关闭.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <fragment xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:map="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.akhil.maplocation.MapsActivity" />
    <fragment
        android:id="@+id/place_autocomplete_fragment"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment"
        />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

对此的主要活动是:

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {

    private GoogleMap mMap;
    LatLng fromadd;
     @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_maps);
           PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)
                    getFragmentManager().findFragmentById(R.id.place_autocomplete_fragment);


            autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
                @Override
                public void onPlaceSelected(Place place) {
                    // TODO: Get info about the selected place.
                    fromadd = place.getLatLng(); …
Run Code Online (Sandbox Code Playgroud)

android google-maps google-maps-api-3 google-places-api google-maps-android-api-2

6
推荐指数
1
解决办法
6400
查看次数

安装应用程序和卸载无法完全删除-Android Studio

在最近的几个应用程序中,我遇到了一个奇怪的问题。

我做了什么:

  • 通过Android Studio使用USB电缆直接安装应用程序。或通过我的本地服务器下载并安装签名的APK。
  • 应用程序在所有方面都可以正常运行
  • 长按以将应用程序图标拖动到“卸载图标”
  • 或通过设置->应用->选择应用来卸载

问题:

  • 卸载后,在“设置”->“应用程序”->“应用程序”下,仍然显示该应用程序,如下所示

在此处输入图片说明

  • 我的应用程序仍显示在底部列表中,并没有此用户消息
  • 我不确定为什么会这样。对于大多数设备,除非我再次单击上面的列表进行卸载并转到下图所示的下一个屏幕,否则从本地服务器重新下载/安装新的APK版本将无法进行

在此处输入图片说明

  1. 是什么原因造成的?
  2. 是否有其他开发商面临同样的问题?

Android Studio版本:2.1.3
清单中的Min SDK:
已测试17台设备:Nexus 4,OnePlus 3,Motorolla Gen-3,Honor

进行了不同的试验: 设备只有一个用户Owner

  1. 现在,我已经卸载了从App Store下载的应用程序。已成功完成此操作,而无需再次为此用户提供未安装的选项
  2. 再次完全删除我的应用程序并重新安装。之后,我尝试再次卸载。未为该用户安装应用程序,显示了相同的选项
  3. 似乎这是自定义应用程序的问题,而不是从App Store安装的那些问题。实际上,有些步骤可能是我所缺少的。谁能指出!

android uninstall android-studio-2.1

6
推荐指数
1
解决办法
7962
查看次数

PDFBox - 如何创建目录

有没有办法使用Java PDFBox库创建目录?

目录应该是可点击的(跳转到正确的页面)

谢谢。

java pdfbox

5
推荐指数
1
解决办法
4512
查看次数

Android Volley,JsonObjectRequest但接收JsonArray

所以我使用a JsonObjectRequest发送JsonObject一个休息呼叫,但它返回一个JsonArray而不是一个JsonObject.它给我一个错误,说它不能解析结果JsonObjectRequest,但如果我使用JsonArrayRequest我不能发送一个JsonObject在体内.我如何发送一个JsonObjectJsonArray作为回复?

        RequestQueue queue = Volley.newRequestQueue(this);
    JsonObjectRequest jsObjRequest = new JsonObjectRequest(Request.Method.POST,url,jsonBody,
            new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    String test = "";
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {

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

android request android-volley jsonobjectrequest

5
推荐指数
2
解决办法
4647
查看次数

ViewPager片段第二次在导航抽屉片段内正常工作

我有Navigation Drawer一个片段Tab Viewer.在tabviewer中,我正在使用ViewPagerFragment.代码ViewPager

    viewPager = (ViewPager) rootView.findViewById(R.id.pager);
    viewPager.setAdapter(new TabsPagerAdapter(((FragmentActivity)getActivity()).getSupportFragmentManager()));

    PagerSlidingTabStrip tabsStrip = (PagerSlidingTabStrip) rootView.findViewById(R.id.tabs);
    tabsStrip.setViewPager(viewPager);
Run Code Online (Sandbox Code Playgroud)

选项卡将在导航抽屉中首次点击其内容,但第二次只有标签的标题没有其布局.布局不会到来,并且不同选项卡之间的滑动也不起作用?为什么它第一次工作而不是其余工作?我附加了两个不同点击相同导航抽屉片段的图像.这是第一次点击,所以布局完美. 在此输入图像描述

这是第二次尝试点击相同的片段,但只有背景,没有任何布局内容.

在此输入图像描述

帮助摆脱这个问题.

android android-layout android-fragments android-tabs

5
推荐指数
1
解决办法
1550
查看次数

如何静音 Google IMA 广告的音量

Google-IMA Android SDK用于在我的应用程序中加载添加和播放视频。

通过此链接中提供的示例应用程序,我可以播放广告和视频。

但是我无法将播放的广告的音频静音。

根据 Android API 参考尝试使用setAdWillPlayMuted(boolean),但仍然添加了音频播放。

但是在 中IMA SDK for IOSIMAAdsManager volume API 可用于为 add 静音,这在 IOS 设备中按预期工作。

interactivemedia:3.9.0按照下载的 Android 示例版本使用。

我是否需要使用任何其他 API 或类来实现静音广告音量?

注意:静音系统音量不是我想要实现的

android google-ima video-ads imasdk

5
推荐指数
1
解决办法
1162
查看次数

改造 OkHttp 连接错误时流意外结束

我正在使用以下依赖项(Retrofit 和 OkHttp)。

implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
Run Code Online (Sandbox Code Playgroud)

下面是我的代码:

OkHttpClient okHttpClient = new OkHttpClient.Builder()
                .addInterceptor(cache_interceptor)
                .cache(cache)
                .connectTimeout(AppConstants.TIME_OUT, TimeUnit.SECONDS)
                .readTimeout(AppConstants.TIME_OUT, TimeUnit.SECONDS)
                .writeTimeout(AppConstants.TIME_OUT, TimeUnit.SECONDS)
                .connectionSpecs(Collections.singletonList(ConnectionSpec.CLEARTEXT))
                .retryOnConnectionFailure(false)
                .build();

return new Retrofit.Builder()
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .client(okHttpClient)
                .addConverterFactory(ScalarsConverterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .baseUrl(BuildConfig.BASE_URL).build();

private final Interceptor cache_interceptor = new Interceptor() {
        @Override
        public Response intercept(Chain chain) throws IOException {

            Request request = chain.request().newBuilder().addHeader("Connection", "close").build();
            return chain.proceed(request);
        }
    };
Run Code Online (Sandbox Code Playgroud)

URL 是https之一,指向AWS S3实例。

但我收到以下httpsURL 端点错误。

java.io.IOException:连接上的流意外结束{s3.amazonaws.com:443,proxy=DIRECT hostAddress=s3.amazonaws.com/XX.XXX.XXX.XX:443 cipherSuite=none protocol=http/1.1}

浏览了类似的线程,如Github …

https android okhttp retrofit2

5
推荐指数
1
解决办法
9133
查看次数

为ionic2项目创建自定义cordova插件

我们中的许多人都会经历类似的问题,但即使经过以下大多数相关链接引用link1参考link2,我也无法解决.

问题:

创建一个自定义插件(Cordova)以便在ionic2项目中使用它.

期望:此插件将能够与IOS和Android的本机功能进行交互.确切地说,我正在尝试使用cordova访问Ionic项目的本机SDK(Aruba内部定位SDK)的功能.

步骤1根据参考链接1初始创建插件

第2步创建Ionic 2项目(使用基本步骤创建)

步骤3插件中的JavaScript文件无法在Ionic2中引用和访问.

谷歌搜索后,我发现了这个讨论,由于以下原因,它被告知在插件中创建界面.

从'../../../plugins/xxx/*.js'导入{myPluginName}

因为插件不是离子本机包的一部分而无法工作.

如果你有自定义插件,你可以做一些事情.

1)制作PR以将其添加到离子原生物中

2)使用原始插件API.您可以使用原始插件API,而不必将其作为Ionic Native的一部分.该插件位于窗口对象上,因此您可以正常定位api

window.plugin.myPlugin.myMethod()

根据GITHUB Example项目,这种方式应该实现接口

interface CordovaPlugins {
  ZPLPrinter: ZPLPrinter;
}

interface ZPLPrinter {

  print(
    ipaddress: string,
    bclabels: any,
    printSuccess: (ip: string, labels: string[]) => void,
    printError: (message: string) => void): void;

}
Run Code Online (Sandbox Code Playgroud)

现在我在我的插件中创建了一个类似的界面,插件的www文件夹中有以下内容

interface CordovaPlugins {
  Communicator: Communicator;
}

interface Communicator {

  getInfo(successCallback: any, errorCallback: any);

}
Run Code Online (Sandbox Code Playgroud)

理想情况下,此接口将在JS文件中定位此方法

Device.prototype.getInfo = …
Run Code Online (Sandbox Code Playgroud)

javascript plugins android cordova ionic2

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