小编Sve*_*ven的帖子

启用和禁用广播接收器

我尝试使用此PackageManager方法启用和禁用广播接收器:

setComponentEnabledSetting(componentName,
        PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
        PackageManager.DONT_KILL_APP);
Run Code Online (Sandbox Code Playgroud)

广播接收器在清单中注册.接收器工作正常,但当我尝试禁用它时,它仍然接收广播消息.当我通过"android:enabled ="false""禁用清单中的接收器时,接收器没有收到任何东西,但我无法启用它.

我从服务中调用该方法.

    PackageManager pm  = getApplicationContext().getPackageManager();
    ComponentName componentName = new ComponentName("com.app",
             ".broadcast_receivers.OnNetworkChangedReceiver");
    pm.setComponentEnabledSetting(componentName,
            PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
            PackageManager.DONT_KILL_APP);
Run Code Online (Sandbox Code Playgroud)

Android清单:

    <receiver android:name=".broadcast_receivers.OnNetworkChangedReceiver"
                android:enabled="true">
            <intent-filter>
                    <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
            </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)

收件人

public class OnNetworkChangedReceiver extends BroadcastReceiver {
private static final String TAG = "OnNetworkChangedReceiver";

@Override
public void onReceive(Context context, Intent intent) {
    Log.d(TAG, "in OnNetworkChanged");
    }
}
Run Code Online (Sandbox Code Playgroud)

我昨天也从一个Activity中调用了这个方法.我认为它有效,但今天没有任何作品了.可能是因为我昨天误解为禁用接收器的意图(android.net.conn.CONNECTIVITY_CHANGE)有时会有很大的延迟吗?

PackageManager的方法是正确的方向还是想法中存在基本错误?

非常感谢,斯文

android broadcastreceiver

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

如何在 Kotlin 多平台项目中的commanMain 模块中使用 okio 读取文件?

我正在尝试读取/写入commonMain模块中的文件。

我使用 Android Studio 向导为 Android 和 iOS 创建了一个新的 Kotlin 多平台应用程序。( New -> New Project ... -> Koltin Multiplatform App)

然后我将 okio 添加为shared/build.gradle.kts文件中 common 的依赖项。

    sourceSets {
        val okio = "3.3.0"
        val commonMain by getting {
            dependencies {
                implementation("com.squareup.okio:okio:$okio")
            }
        }
        ...
Run Code Online (Sandbox Code Playgroud)

在模块 commonMain 中,我无法访问FileSystem.SYSTEM( Unresolved Reference: SYSTEM),因此无法读取或写入任何文件。

在模块中iOSMainandroidMain可以访问FileSystem.SYSTEM. 这是预期的行为吗?这需要我为所有 okio api 编写一个expected/actual映射。或者还有其他方法吗?

或者我是否需要以不同的方式配置我的项目才能访问-ModuleFileSystem.SYSTEM内部commonMain

shared/build.gradle

plugins {
    kotlin("multiplatform") …
Run Code Online (Sandbox Code Playgroud)

kotlin okio kotlin-multiplatform

13
推荐指数
0
解决办法
714
查看次数

是`溢出:隐藏'改变绝对孩子的定位?

我有一个图像库只用css滑出图像.有关示例或附加代码,请参见http://codepen.io/anon/pen/xmhzE?editors=110.

只要#images-div没有overflow: hidden设置它就可以正常工作.当溢出设置为隐藏时,单个图像的绝对定位不再起作用.当我left对图像的属性使用负值时,它也适用于隐藏溢出.

是否overflow:hidden改变了绝对孩子的安抚方式?

有没有人有这个问题的解决方案?


来源

index.html的:

<div id="images">
  <img id="image1" src="http://i.imgur.com/dL3io.jpg" />
  <img id="image2" src="http://i.imgur.com/qASVX.jpg" />
  <img id="image3" src="http://i.imgur.com/fLuHO.jpg" />
  <img id="image4" src="http://i.imgur.com/5Sd3Q.jpg" />
</div>
<div id="slider">
  <a href="#image1">1</a>
  <a href="#image2">2</a>
  <a href="#image3">3</a>
  <a href="#image4">4</a>
</div>
Run Code Online (Sandbox Code Playgroud)

base.css:

body {
    text-align: center;
  }
#images {
  width: 400px;
  height: 250px;
  /*overflow: hidden; if this is set absolute positioning of images breaks*/
  position: relative;
  background-color: red;

  margin: 20px auto;
}
#images img …
Run Code Online (Sandbox Code Playgroud)

css css3

12
推荐指数
1
解决办法
1820
查看次数

Vaadin Touchkit或mgwt

我正在评估使用GWT和Apache Cordova/PhoneGap创建移动混合应用程序的可能性.我已经用mgwt构建了一个小型原型并喜欢它,但我想在开始项目之前研究一些其他的可能性.因此,我看了一下Vaadin及其AddOn Touchkit.

我有以下问题:

  1. 是否可以在不需要永久服务器连接的客户端应用程序中使用Vaadin Touchkit Addon?

    在文档的移动章节中,显示了一个示例,它是一个服务器端应用程序,据我所知,因此需要为每个UI事件提供服务器连接.如果我错了,请纠正我,我对Vaadin没有经验.

  2. "普通"GWT应用程序和客户端Vaadin应用程序之间有什么区别吗?

  3. 使用Vaadin Touchkit代替mgwt有什么好处吗?

  4. 一般来说,Vaadin Touchkit与mgwt相当,如果是,那么主要区别是什么?

gwt vaadin mgwt vaadin-touchkit

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

结合RxTextView Observable和Retrofit Observable

作为开始使用RxAndroid的一个例子,我试图实现一个搜索框,当用户插入一些内容时触发一个休息调用.

到目前为止,我有两个工作部分.第一次观察EditTextView ......

RxTextView.textChangeEvents(searchEditText)
    .debounce(400, TimeUnit.MILLISECONDS)
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe(new Observer<TextViewTextChangeEvent>() {
            @Override
            public void onCompleted() {
                Timber.d("onCompleted");
            }

            @Override
            public void onError(Throwable e) {
                Timber.e(e, "onError");
                }

            @Override
            public void onNext(TextViewTextChangeEvent e) {
                Timber.d("onNext" + e.text().toString());
            }
        });
Run Code Online (Sandbox Code Playgroud)

...以及使用Retrofit Service调用REST API的第二部分:

APIManager.getService().searchRestaurants("test")
        .subscribeOn(Schedulers.io())
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(new Observer<List<Restaurant>>() {
            @Override
            public void onCompleted() {
                Timber.d("onCompleted");
            }

            @Override
            public void onError(Throwable e) {
                Timber.e(e, "onError");
            }

            @Override
            public void onNext(List<Restaurant> restaurants) {
                Timber.d("onNext");
                for (Restaurant restaurant : restaurants) {
                    Timber.d(restaurant.getId() + ": " + …
Run Code Online (Sandbox Code Playgroud)

android rx-java rx-android

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

如何避免svgs的foreignObjects中的元素缩放?

我想使用svg作为div元素的容器,div元素应包含多个元素.目前它看起来像这样:

<body>
    <svg width="100%" height="100%" viewBox="0 0 45 90" version="1.1" xmlns="http://www.w3.org/2000/svg" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
       <path d="M45.02,17.449l0,-5.837l-0.324,0c0,-3.841 0,-6.21 0,-6.344c0,-0.786 0.105,-3.078 -2.657,-3.659c-5.996,-1.263 -19.539,-1.352 -19.539,-1.352c0,0 -13.543,0.089 -19.539,1.352c-2.762,0.58 -2.657,2.873 -2.657,3.659c0,0.192 0,4.987 0,12.133l-0.324,0l0,14.537l0.324,0c0,22.9 0,52.313 0,52.794c0,0.786 -0.105,3.079 2.656,3.66c5.997,1.262 19.54,1.351 19.54,1.351c0,0 13.542,-0.089 19.539,-1.351c2.762,-0.581 2.657,-2.874 2.657,-3.66c0,-0.594 0,-45.159 0,-67.283l0.324,0Zm-22.52,-13.778c0.535,0 0.969,0.434 0.969,0.969c0,0.536 -0.434,0.97 -0.969,0.97c-0.535,0 -0.969,-0.435 -0.969,-0.97c0,-0.536 0.434,-0.969 0.969,-0.969Zm20.262,75.595l-40.525,0l0,-71.234l40.524,0l0,71.234l0.001,0Z" style="fill-rule:nonzero;"></path>
       <foreignObject x="2.238" y="8.019" width="40" height="71">
          <div id="screen">
             I'm a very long text. Why am I so big?
          </div>
       </foreignObject>
    </svg>
</body>
Run Code Online (Sandbox Code Playgroud)

CSS

html, body{
  width: 100%;
  height: 100%;
}

#screen{
  background: green;
  overflow: …
Run Code Online (Sandbox Code Playgroud)

html css svg

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

如何将字节从 Swift (iOS) 传递到 Kotlin 通用模块?

为了在 android 和 iOS 应用程序之间共享协议的实现,我正在尝试使用 Kotlin Multiplatform。我按照此处的说明设置了一个基本的多平台项目。

它定义了共享模块中的公共代码......

fun createApplicationScreenMessage() : String {
  return "Kotlin Rocks on ${platformName()}"
}
Run Code Online (Sandbox Code Playgroud)

... 可用于 iOS 项目 CommonKt.createApplicationScreenMessage()

现在想在common模块做IO操作。我为此找到了Kotlinx-io,并且可以在 common 模块中使用它。

但是如何正确设计 kotlin 代码和 swift 代码之间的 api,以便我可以将 InputStream/ByteArray/ByteReadPacket 等价物从 Swift 传递到 kotlin 模块?

例如像 ByteReadPacket 这样的 kotlinx-io 类型:

Kotlin 通用模块:

class ProtocolReader{
    public fun parse(packet: ByteArray): ParsedMessage {
    //parse data
    } 
}
Run Code Online (Sandbox Code Playgroud)

Swift iOS 应用程序

var byteArray = [UInt8](characteristicData)
let reader = ProtocolReader()
reader.parse(byteArray)
Run Code Online (Sandbox Code Playgroud)

这个例子不起作用,因为 swift byteArray 不能与 …

android ios kotlin swift kotlin-multiplatform

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

如何使用 json_serializable 从 json 序列化中排除单个字段?

我使用https://pub.dev/packages/json_serializable为我的类生成 Json 序列化。这工作正常。现在我想只为 json 生成忽略单个字段,但在读取 json 时不忽略,例如以下示例中的 dateOfBirth:

@JsonSerializable()
class Person {
  final String firstName;
  final String lastName;
  final DateTime dateOfBirth; //<-- ignore this field for json serialization but not for deserialization
  Person({this.firstName, this.lastName, this.dateOfBirth});
  factory Person.fromJson(Map<String, dynamic> json) => _$PersonFromJson(json);
  Map<String, dynamic> toJson() => _$PersonToJson(this);
}
Run Code Online (Sandbox Code Playgroud)

当我使用JsonKey.ignore该字段时,toJsonand 会被忽略fromJson

是否有我缺少的这种情况的 JsonKey 注释?

dart flutter

0
推荐指数
3
解决办法
1754
查看次数