package component
import (
"encoding/json"
"io/ioutil"
"os"
)
type LastComponent struct {
Name string
}
const fname = "componentfiles"
func Persist(comp string) string {
lcomp := LastComponent{Name: comp}
b, err := json.Marshal(lcomp)
if err != nil {
return "err-MARSHAL"
}
file, err := os.Create(fname)
if err != nil {
return "err-CREATE-FILE"
}
defer file.Close()
_, err = file.Write(b)
if err != nil {
return "err-FILE-WRITE-PROB"
}
return ""
}
func Component() string {
f, err := os.Open(fname)
if err != nil {
return "err-FILE-NOT-OPEN"
}
defer f.Close()
b, err := ioutil.ReadAll(f)
if err != nil {
return ""
}
var v LastComponent
json.Unmarshal(b, v)
return v.Name
}
}
上記のコードはうまく動作し、コードのjavascript側も同様です。私は私のjavascriptの中にerr-CREATE-FILE
を受け取り続ける。したがってos.Create
とos.Open
は期待どおりに動作しません。os.Createとos.Openはgomobileと連携していません。ネイティブに反応してください。
内部ストレージですが、アクセス権は必要ありませんが、マニフェストファイルのアクセス権も有効にしていますが、利用できません。
Open
とCreate
のファイルがアンドロイドにある場合、gomobileを使用してサイドでリアクションネイティブを使用するにはどうすればよいですか?
アップデート: - のようなものをadb logcat
で
、私はあなたがパラメータとしてこれを渡すのであれば、あなたはいくつかの成功を持っている必要がありますすべての場所で
E/Vold ( 276): Failed to find mounted volume for /storage/sdcard1/Android/data/com.gotest/cache/
os.createからのエラーは何ですか? "/ sdcard/myfile"のような絶対パスを使って保存しようとしましたか? – Steve101
Java/ObjC/Swiftでファイルを開くことはできますか? –