小编Pra*_*iya的帖子

启用异常C++

我正在尝试为Android制作APP原生代码.Native代码在cplusplus中.每当我尝试制作时,都会出现以下错误.

H236Plus.cpp:135:错误:禁用异常处理,使用-fexceptions启用

如何使用-fexceptions启用异常处理,以及我在哪里使用它?

c++ android makefile cmake android-ndk

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

Android N:如何在分屏时单击通知时在当前活动窗口而不是第二个窗口中启动活动?

Android N使用分屏时,我希望activity在用户点击通知时在当前活动窗口中启动,但如果通过单击通知启动,则Android N始终activity在第二个窗口中启动.

NotificationCompat.Builder mBuilder =
                new NotificationCompat.Builder(this)
                        .setSmallIcon(R.drawable.notification)
                        .setAutoCancel(false)
                        .setContentTitle("Demo Title")
                        .setContentText("Demo");

Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("myIntent", "test");

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(pendingIntent);

NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

Notification notification = mBuilder.build();

notification.flags = Notification.FLAG_NO_CLEAR;

mNotificationManager.notify(156, notification);
Run Code Online (Sandbox Code Playgroud)

什么时候intent比发射activity.

 Intent in = new Intent(MainActivity.this, SecondActivity.class);
 startActivity(in);
Run Code Online (Sandbox Code Playgroud)

前 - 我在前台有两个应用程序,如第一个窗口中的Chrome浏览器第二个窗口中的Facebook,现在我在Chrome浏览器中搜索某些内容,此时我收到了通知Gmail.现在当我点击Gmail通知而不是通过替换Facebook第二个窗口中 …

android android-intent android-notifications split-screen android-7.0-nougat

19
推荐指数
1
解决办法
2107
查看次数

向Google Cloud发送REST调用PHPMyAdmin服务器无法正常工作?

我已按照此链接成功部署了phpMyAdmin服务器.我在尝试写入我在phpMyAdmin中创建的数据库时遇到问题.我正在尝试根据Google发布的新功能创建通知服务.Google CloudFirebase Cloud Messaging

NotificationInstanceService.java

public class NotificationInstanceService extends FirebaseInstanceIdService {
    private static final String TAG = "NotificationInstance";

    @Override
    public void onTokenRefresh() {

        //Getting registration token
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();

        //Displaying token on logcat
        Log.d(TAG, "Refreshed token: " + refreshedToken);

        sendRegistrationToServer(refreshedToken);

    }

    private void sendRegistrationToServer(String token) {
        //You can implement this method to store the token on your server
        //Not required for current project
        OkHttpClient client = new OkHttpClient();
        //Create the request …
Run Code Online (Sandbox Code Playgroud)

php mysql google-app-engine android phpmyadmin

17
推荐指数
1
解决办法
360
查看次数

如何在IntelliJ IDEA中运行Java scratch文件

我刚开始使用IntelliJ-14,我想知道一个临时文件.如果我创建一个java scratch,我可以将其编译为普通Java类.我已经尝试过什么Java在临时文件中创建一个类但无法找到任何编译方法.我正在寻找而不是Java在现有项目中创建一个新文件来运行一些测试代码我只想使用临时文件并使用main方法编写一些测试类,并在完成运行后关闭临时文件.那可能吗?

intellij-idea intellij-14

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

什么".()"在Kotlin中意味着什么?

我见过一个函数有一个由ClassName给出的参数的例子.()这似乎不是一个扩展函数,它是ClassName.Function()

一个例子是Kotterknife:

private val View.viewFinder: View.(Int) -> View?
    get() = { findViewById(it) }
Run Code Online (Sandbox Code Playgroud)

其中我不太了解其功能,

MaterialDrawerKt

fun Activity.drawer(setup: DrawerBuilderKt.() -> Unit = {}): Drawer {
    val builder = DrawerBuilderKt(this)
    builder.setup()
    return builder.build()
}
Run Code Online (Sandbox Code Playgroud)

代码允许您直接调用的地方

drawer {
    ...
}
Run Code Online (Sandbox Code Playgroud)

而不是给括号括起来的参数.

在任何地方都有这方面的文件吗?

android object higher-order-functions kotlin navigation-drawer

15
推荐指数
4
解决办法
2157
查看次数

什么是Android Binder"交易?"

我在TransactionTooLargeException从单个APK运行的两个Android进程之间发送消息时收到了消息.每条消息只包含少量数据,远小于总计1 mb(如文档中所指定).

我创建了一个测试应用程序(下面的代码)来解决这个问题,并注意到三件事:

  1. android.os.TransactionTooLargeException如果每条消息都超过200 kb 我得到了一个.

  2. android.os.DeadObjectException如果每条消息都低于200kb,我得到了一个

  3. 添加一个Thread.sleep(1)似乎已经解决了这个问题.我不能得到一个例外Thread.sleep

通过Android C++代码,似乎transaction失败的原因不明,并被解释为其中一个异常

问题

  1. 什么是" transaction"?
  2. 什么定义了交易中的内容?在给定时间内是一定数量的事件吗?或者只是最大数量/大小的事件?
  3. 有没有办法"刷新"交易或等待交易完成?
  4. 什么是避免这些错误的正确方法?(注意:将其分解为更小的部分只会引发不同的异常)


AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.example.boundservicestest"
          xmlns:android="http://schemas.android.com/apk/res/android">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <service android:name=".BoundService" android:process=":separate"/>
    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

MainActivity.kt

class MainActivity : AppCompatActivity() {

    private lateinit var sendDataButton: Button
    private val myServiceConnection: MyServiceConnection = MyServiceConnection(this)

    override fun onCreate(savedInstanceState: Bundle?) { …
Run Code Online (Sandbox Code Playgroud)

android transactions ipc android-service android-binder

15
推荐指数
2
解决办法
2918
查看次数

强制BarChart Y轴标签是整数?

我使用MPAndroidChart创建了一个BarChart,我正在动态输入数据.这意味着我还需要动态确定Y轴.我的所有数据都表示为整数,但Y轴有时会将图例显示为带小数点1的十进制值.

我试图使用ValueFormatter来舍入值,但问题是有时Y值不在整数值位置(例如0.8,1.6,2.4等).因此,如果我只是将它们编辑为整数,则它们将不在正确的位置.

无论如何,我是否可以强制BarChart仅在Integer位置显示值?它可以跳过一些,实际上我希望它在值变大时.

编辑:当我说整数不在正确的位置时,我的意思是,一旦我修改了每个标签显示的内容,它们就不是'正确'.在我的例子中,我有5个条显示值3,4,2,3,2.第一个图像是'默认',第二个是我使用以下编辑值格式化程序后的图像:

myBarChart.getYLabels().setFormatter(new ValueFormatter()
{
    @Override
    public String getFormattedValue(float v)
    {
        return ((int) v)+"";
    }
});
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 在此输入图像描述

正如我们从这些图像中看到的,我的整数值不是它们应该的位置(并且有两个'2').在这个例子中我除了显示值0,1,2,3,4.如果我有更多的数据,我希望它足够智能,只显示我有空间的值,所以例如,如果数据包含0-50的值,它将显示类似0,10,20,30 ,40,50或可能0,15,30,45等

android bar-chart mpandroidchart

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

ItemTouchHelper使拖动的项目超过片段页脚

我有一个RecyclerViewItemTouchHelper.RecyclerView是一个2/2网格,页面上有页眉和页脚.当用户拿起一个项目时,我希望该项目能够悬停在页脚上.但是,我不希望通过页脚看到回收器视图中的其他项目.

所以首先我尝试添加clipChildren,clipPadding但是这会产生一种情况,即RecyclerView项目在页脚中向上滚动这是一个问题.我尝试为项目添加高程并带来ToFont,但那些从未工作过,因为回收者视图仍然在页脚后面,我尝试添加到前面的回收器视图本身,但然后再一次所有项目再次成为页脚前面而不是只是拖了一个,有没有人有任何其他想法如何解决这个问题?

android

13
推荐指数
1
解决办法
915
查看次数

在Android 7.0 Nougat中mimeType-check是否破了?(android清单的intent-filter)

看来android的My Files应用程序与以下AndroidManifest.xml配置不兼容:

  <intent-filter>
     <data android:scheme="file" />
     <data android:pathPattern=".*\\.myext" />
     ...
Run Code Online (Sandbox Code Playgroud)

一些在线资源推荐使用

  <intent-filter>
     <data android:scheme="content" />
     <data android:mimeType="application/octet-stream" />
     ...
Run Code Online (Sandbox Code Playgroud)

这意味着您的应用将尝试打开所有二进制文件.哪个不理想,但很好,只要它有效......

好吧,当您安装最新的Android更新并更新到时,惊喜它会停止工作7.0 Nougat.

为了解决这个问题,我尝试使用:

  <intent-filter>
     <data android:scheme="content" />
     <data android:mimeType="*/*" />
     ...
Run Code Online (Sandbox Code Playgroud)

并看到mime类型为空.所以似乎Nougat版本不仅扰乱了原始的URL,并隐藏了它的扩展名,但它也失去了mime类型?!

有谁见过自定义文件扩展名(文件扩展名关联)的任何工作示例Android 7.0 Nougat?如何配置android清单XML?我应该使用哪个targetSdkVersion?

android intentfilter android-7.0-nougat

13
推荐指数
1
解决办法
635
查看次数

Android Studio - 在现有的旧项目中启用本机C++调试(card.io Android Source)

我目前正在尝试了解card.io Android Source的本机实现是如何工作的.为此,有可能调试本机C++代码.目前我的断点不受尊重.

我确实尝试了以下方法:

  1. 调整Application make文件(Application.mk):

C++

  1. 将buildType添加到SampleApp的build.gradle文件中

APP_ABI := armeabi-v7a APP_CFLAGS += -UNDEBUG -O0 -g -ggdb APP_OPTIM := debug APP_CPPFLAGS += -DDMZ_DEBUG=1

注意: 我使用的是带有Ubuntu 16.04(64位)的Android Studio 3.1,如果我创建一个支持C++的新项目,调试就完全正常了.

我们正在调试Android 7.0设备; 该项目正在使用NDK构建系统.

c++ java android android-ndk android-studio

13
推荐指数
1
解决办法
427
查看次数