我正在搜索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) 我想从我的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) 我试图找出如何使用语法糖定义Swift类型.就像apple给Array结构赋予了两种方式定义它的能力:Array?<?String?>而且[?String?],我如何为MyStruct做同样的事情?
我正在尝试更改此工具栏颜色完全白色像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
这是我的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) 给定一个带有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
我从远程服务器下载视频并将其保存在应用程序数据目录中.完成后,我将其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
我正在使用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 7(和前)和Android 8(测试版)时调用之间的差异startActivityForResult,从一个DialogFragment.
在MainActivity下面,被压在对话框中,当"OK",解聘本身,创建并显示一个新的对话框,并调用startActivityForResult了AnotherActivity.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
我需要发送什么意图来打开我之前在我的应用中创建的通知频道的设置?我需要它来链接我的设置活动.
android android-notifications android-8.0-oreo notification-channel
android ×7
swift ×3
ios ×2
android-multiselectlistpreference ×1
appcelerator ×1
build.gradle ×1
file ×1
file-io ×1
video-player ×1
watchkit ×1
watchos ×1
xml ×1