小编Flo*_*ern的帖子

Apple Swift文件IO操作

我正在搜索Swift文件输入/输出操作,以便下周在我的大学进行简短的演示.我真的没有太多关于它.

以下是我发现的操作:

let location = "/Users/test/test.txt"
var str = "Hello, playground"

//write
str.writeToFile( location, atomically: false, encoding: NSUTF8StringEncoding, error: nil)
//read
let filecontent = String(contentsOfFile: location, encoding: NSUTF8StringEncoding, error: nil)
//binary read
let test = NSData(contentsOfFile: location)
//if file exists
NSFileManager().fileExistsAtPath(location)
//find Files in the App Bundle with suffix test and prefix txt
var path= NSBundle.mainBundle().pathForResource("test", ofType: "txt")
//path for dynamic user names
if let dirs = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true) as?  [String] {
let path = dirs[0].stringByAppendingPathComponent( "file.txt")
//printout: /Users/test/Documents/file.txt …
Run Code Online (Sandbox Code Playgroud)

file-io file swift

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

handleWatchKitExtensionRequest没有响应Watchkit扩展中的openParentApplication(Swift)

我想从我的WatchKit应用到我的主父应用程序,并从我了解我应该能够使用发送的信息openParentApplication中,将由接收我watchkit扩展handleWatchKitExtensionRequest在AppDelegate.swift,但我不能似乎得到handleWatchKitExtensionRequest是触发.

我一直有一些问题,所以在这一点上我只是想要建立任何连接,然后再担心实际传递了什么信息.所以目前在我的Watchkit ViewController中我有以下内容:

 let testDict = [
    "value1" : "Test 1",
    "value2" : "Test 2"
]

@IBAction func saveButtonFunction() {
    openParentAppForBalance(testDict)
}

private func openParentAppForInfo(Dict: [String: String]) {

    WKInterfaceController.openParentApplication(testDict,
        reply: {(reply, error) -> Void in
            println("openParentApplication called in button function")
    })
}
Run Code Online (Sandbox Code Playgroud)

在输出中显示函数被调用,但handleWatchKitExtensionRequest只是不会响应.目前它在AppDelegate.swift中设置为以下内容,它永远不会被调用:

func application(application: UIApplication!, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]!, reply: (([NSObject : AnyObject]!) -> Void)!) {

    println("we made it!")

    var retValues = Dictionary<String,String>()

    retValues["retval1"] = "return Test 1"
    retValues["retval1"] = …
Run Code Online (Sandbox Code Playgroud)

ios swift watchkit watchos

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

如何快速制作自己的语法糖?

我试图找出如何使用语法糖定义Swift类型.就像apple给Array结构赋予了两种方式定义它的能力:Array?<?String?>而且[?String?],我如何为MyStruct做同样的事情?

ios swift

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

如何使用协调器布局和自定义工具栏更改android标题颜色

我正在尝试更改此工具栏颜色完全白色Android Lollipop设置 操作栏颜色,但是,在我们的视图中有一个错误或类似的东西,或者可能是Android错误!!

我的工具栏:

<android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize"
                    app:layout_collapseMode="pin"
                    app:popupTheme="@style/Theme.AppCompat.Light"
                    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
Run Code Online (Sandbox Code Playgroud)

样式:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
     <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
Run Code Online (Sandbox Code Playgroud)

和风格箭头:

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="spinBars">true</item>
    <item name="color">@android:color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)

结果:

如你所见,这个名字是黑色的!在添加这些之后,搜索图标也有点黑.(你可以尝试一下 ;) )

但我需要完全白色和白色动作.

怎么能实现这个?

我已经尝试了你所能期待的一切!

android material-design android-5.0-lollipop android-toolbar

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

错误:(3)解析XML时出错:格式错误(无效令牌)

这是我的xml文件,然后是anim文件夹.当我运行应用程序时,会显示解析错误.

shake.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
< translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="1000"
    android:fromXDelta="0%"
    android:interpolator="@anim/cycle_7"
    android:toXDelta="5%" />
</set>
Run Code Online (Sandbox Code Playgroud)

cycle_7.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
< cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
    android:cycles="7" />
</set>
Run Code Online (Sandbox Code Playgroud)

xml android

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

最初未在列表中显示时,不检查MultiSelectListPreference复选框(API 23)

给定一个带有MultiSelectListPreference的SettingsActivity及其数组资源中的条目,值和默认值,即使Android知道应该检查它们,也不会将某些复选框绘制为已选中.单击未选中的项目时,该项目仍未选中(因为Android认为它取消选中已选中的项目).

这是一个发生这种情况的视频

项目可在此处获取:https://github.com/ImmersibleElf/MSLPBug

它似乎在API 21和22中运行良好,但在23中没有.这可能是回收视图中的错误吗?或者可能是什么原因?

SettingsActivity.java

package com.immersibleelf.mslpbug;

import android.os.Bundle;
import android.preference.PreferenceFragment;
import android.support.v7.app.AppCompatActivity;

public class SettingsActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Display the fragment as the main content.
        getFragmentManager().beginTransaction()
                .replace(android.R.id.content, new SettingsFragment())
                .commit();
    }

    @Override
    public void onPause() {
        super.onPause();
    }

    public static class SettingsFragment extends PreferenceFragment {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            // Load the settings from an XML resource
            addPreferencesFromResource(R.xml.settings);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

的settings.xml

<?xml version="1.0" …
Run Code Online (Sandbox Code Playgroud)

android android-checkbox android-multiselectlistpreference android-6.0-marshmallow

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

Appcelerator Studio - 当我在视频播放器中加载URL时,Android应用程序在Marshmallow上崩溃

我从远程服务器下载视频并将其保存在应用程序数据目录中.完成后,我将其URL传递给视频播放器(我窗口上的UI元素).然后我的应用程序崩溃了.

这只发生在Marshmallow(Android 6.0版)上.我已经在Lollypop(4-5设备)上进行了测试,但它在那里工作得很好.

我尝试了不同的解决方案,但仍无法解决此问题.它真的杀了我.如果您有任何想法,请帮忙.我会很感激.

这是我的日志(来自评论):

[错误]:TiVideoView8:java.io.IOException:setDataSource失败.[ERROR]:TiVideoView8:在android.media.MediaPlayer.setDataSource(MediaPlayer.java:1095)[出错]:TiVideoView8:在android.media.MediaPlayer.setDataSource(MediaPlayer.java:1041)[出错]:TiVideoView8:在机器人.media.MediaPlayer.setDataSource(MediaPlayer.java:987)[ERROR]:TiVideoView8:在android.media.MediaPlayer.setDataSource(MediaPlayer.java:968)

android appcelerator video-player android-6.0-marshmallow appcelerator-titanium

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

java.lang.NoClassDefFoundError:失败的解析:Ljava/time/LocalTime;

我正在使用Android Studio 2.1.2,API级别23开发一个应用程序.在类中我使用了java.time.LocalTime该类,但在运行时,一个无法处理的NoClassDefFoundError异常会导致我的活动失效.谷歌搜索,我知道我必须在build.gradle中添加依赖项,因为Android类是使用早于Java 8的JDK版本开发的(当LocalTime添加类时).

所以我必须写下这样的东西: compile "java.time:LocalTime:1.8"

但它不起作用.

android build.gradle android-studio-2.1

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

Android O中DialogFragment中onActivityResult的不同行为

我注意到的Android 7(和前)和Android 8(测试版)时调用之间的差异startActivityForResult,从一个DialogFragment.

MainActivity下面,被压在对话框中,当"OK",解聘本身,创建并显示一个新的对话框,并调用startActivityForResultAnotherActivity.AnotherActivity马上结束.

在Android 7 onActivityResult上,在新的对话框实例上调用.在Android 8上,onActivityResult永远不会被调用.

谁能解释这种差异?

MCVE

public class MainActivity extends AppCompatActivity {

    private static final String FRAGMENT_TAG = "tag";

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        new SomeDialogFragment().show(getFragmentManager(), FRAGMENT_TAG);
    }

    public static class SomeDialogFragment extends DialogFragment
    {
        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState)
        {
            super.onCreateDialog(savedInstanceState);

            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

            builder.setPositiveButton(
                    "OK",
                    new DialogInterface.OnClickListener()
                    {
                        @Override
                        public void onClick(DialogInterface d, int which) …
Run Code Online (Sandbox Code Playgroud)

android android-dialogfragment onactivityresult android-8.0-oreo

6
推荐指数
0
解决办法
230
查看次数

意图从我的应用程序打开通知通道设置

我需要发送什么意图来打开我之前在我的应用中创建的通知频道的设置?我需要它来链接我的设置活动.

android android-notifications android-8.0-oreo notification-channel

6
推荐指数
3
解决办法
3333
查看次数