我正在使用以下代码将数据保存到我的 Android 应用程序的共享首选项:
private SharedPreferences getOurSharedPreferences() {
return getSharedPreferences(SHARED_PREFS_FILENAME, MODE_PRIVATE);
}
SharedPreferences sharedPrefs = getOurSharedPreferences();
SharedPreferences.Editor editor = sharedPrefs.edit();
editor.putString(keyName, theString);
if (!editor.commit())
throw new RuntimeException("Unable to save new string.");
// Get it back as a test.
String s2 = getStringFromStorage(keyName);
Run Code Online (Sandbox Code Playgroud)
其中 SHARED_PREFS_FILENAME 是私有的最终静态字符串,keyName 是我当前用作字段名称的任何键的名称。提交工作正常,我没有例外。如您所见,我添加了一个测试来检索最近提交的字符串,当我检查它 (s2) 时,该值很好。因此,在我的应用程序的生命周期内,共享首选项存储没有任何问题。但是,当我在模拟器中重新启动应用程序时,共享首选项存储区域是空的,我找不到我在上次模拟器会话中存储的值。我做了一些阅读,据我所知,存储的值应该跨会话持续存在,显然它们保存在属于模拟器的 XML 文件中。然而我遇到了问题。
谁能告诉我为什么我的共享首选项存储值在 Android 模拟器会话之间不存在?
——罗什克莱尔
我发现 svn 默认不提交我的 .o 文件。我检查了 dir 属性 - 没有找到任何 .o 特定规则。
是否有默认情况下 svn 不提交的文件列表,如 .o?
嗨,
我正在使用XCode在SVN中提交我的项目.我成功地做了好几个月.但突然今天,在提交时,它显示以下错误:
工作副本"Classes"无法提交文件.
svn:提交失败(详情如下)svn:无法打开'/usr/local/repos/Iphone/my_svn_repo/db/tempfile.tmp':设备上没有剩余空间
这是svn方面或我正在使用的Iphone中的内存问题?怎么避免呢?
谢谢
我正在做重构,每次我取得任何不错的进展时都会不断修改。它进展得非常顺利,我意识到能够向人们展示我如何处理如此巨大的重构(很多小步骤,只是轻推代码,每个点都有一个绿色测试套件)会很好。
提交都在我的reflog 中。有没有办法将每个修改后的提交转换为自己的真实提交(抱歉,不知道术语),以便用户可以看到每个步骤,而不仅仅是第 81 行和第 57 行的汇总步骤?我不需要提交或任何东西的独特消息,只需要它们在历史记录中被捕获。
这一切仍在我的本地仓库中。
我需要 Github API 方面的帮助,
我需要通过 api 提交新版本的文件,我试图通过向
https://api.github.com/repos/:username/:repo:/git/commits/
Run Code Online (Sandbox Code Playgroud)
有数据
{
"login": "username",
"token": "auth_token",
"parent_commit": "sha",
"message": "commit message.",
"content": {
"path": "full/path",
"mode": "edit",
"data": "new content"
}
}
Run Code Online (Sandbox Code Playgroud)
但结果失败 - 未找到。
有没有人知道在哪里发送这个请求以及这种格式是否正确?
(格式的灵感来自 - http://swanson.github.com/blog/2011/07/23/digging-around-the-github-api-take-2.html)
谢谢!
我必须使用hibernate将大量对象保存到数据库中.我想在会话中出现n(BATCH_SIZE)对象时提交,而不是一次提交所有这些对象.
Session session = getSession();
session.setCacheMode(CacheMode.IGNORE);
for(int i=0;i<objects.length;i++){
session.save(objects[i]);
if( (i+1) % BATCH_SIZE == 0){
session.flush();
session.clear();
}
}
Run Code Online (Sandbox Code Playgroud)
我会尝试类似上面的东西,但我读到session.flush()它没有提交数据库的更改.这是以下代码正确的方法吗?
Session session = getSession();
session.setFlushMode(FlushMode.COMMIT);
session.setCacheMode(CacheMode.IGNORE);
session.beginTransaction();
for(int i=0;i<objects.length;i++){
session.save(objects[i]);
if( (i+1) % BATCH_SIZE == 0){
session.getTransaction().commit();
session.clear();
//should I begin a new transaction for next batch of objects?
session.beginTransaction();
}
}
session.getTransaction().commit();
Run Code Online (Sandbox Code Playgroud) 作为一个天生健谈的灵魂,我的摘要行几乎总是超过 50 个字符。如何在 sublime 中对提交消息和仅提交消息的标题行强制执行 50 个字符的限制?有没有办法自定义设置?
通常当我在VIM中写完提交消息时,我输入:Wq<ENTER>而不是:wq<ENTER>因为我按住shift键来键入冒号.这会导致VIM响应E492: Not an editor command: Wq.
到目前为止,这一切都很好,我只需重新输入:wq<ENTER>以保存提交消息并退出VIM.但是,提交不起作用,终端显示如下:
$ git commit
$ error: There was a problem with the editor 'vi'.
$ Please supply the message using either -m or -F option.
Run Code Online (Sandbox Code Playgroud)
为什么:Wq<ENTER>在做正确的事情之前意外进入:wq<ENTER>导致提交失败?进入后有没有办法让承诺发生:Wq<ENTER>?
commit ×10
git ×3
github ×2
svn ×2
android ×1
api ×1
batch-insert ×1
c# ×1
command ×1
command-line ×1
emulation ×1
flush ×1
git-commit ×1
hibernate ×1
http ×1
java ×1
json ×1
memory ×1
refactoring ×1
reflog ×1
rollback ×1
sublimetext ×1
vim ×1
xcode ×1
xml ×1