天道酬勤,学无止境

技术分享

如何从我的 kivy 应用程序 (Pyinstaller) 获取 Windows 可执行文件?(How to get an windows executable from my kivy app (Pyinstaller)?)

问题 我已经完成了一个 kivy 应用程序,并使用 buildozer 打包到一个 .apk 中。 事实是,现在我想使用 Pyinstaller 将 Windows 的 .exe 打包,但我意识到这两个程序(buildozer 和 Pyinstaller)的工作方式不同。 我一直在寻找可以帮助我获取文件的好教程,但是我看到的所有教程都太简单了,没有解释例如如何导入main.py外部文件(例如图像)和如何导入外部模块(在 buildozer 中,我必须将我想要的库添加到 apk 文件中才能正常工作)。 我在 Ubuntu 中工作(如果我想获得 Windows 的可执行文件,我应该在 Windows 中工作吗?)并且我有我添加到我的 .apk 中的列表可以正常工作。 名单是: requirements = kivy,sqlite3,requests,simplejson,icalendar,datetime,pytz,HTMLParser,email,openssl 如果有人能告诉我如何添加另一个文件( main.py是主文件,但我在main.py中导入了另外两个文件)我会很高兴,因为我已经尝试了很多次,直到没有不行。 回答1 您必须在 Windows 环境中运行 PyInstaller yourfile.spec。 我可以共享一个我使用的规范文件作为示例。 # -*- mode

2021-06-24 11:03:50   python   linux   package   kivy   pyinstaller

如何根据wpf中的许多复选框选择在数据网格视图中显示项目(How to Display items in data grid view based on many checkbox selection in wpf)

问题 我开发了一个 UI,如下所示: 我想根据选定的复选框显示数据网格中的项目。 当前场景:现在我的代码总是显示我最新的复选框选择文件中存在的项目。 例如,如果我选择了第一个复选框,则第一个文件中存在的项目将正确显示,同样,如果我选择了第二个复选框,则将显示第二个文件中的项目。 必需用例(无法执行此操作)如果选中了两个复选框,则应显示两个文件中的项目。 其次,如果我取消选择一个复选框,则不应显示该文件中的项目。 我的意思是项目应该根据复选框选择动态更新。 我的尝试 FrameworkElementFactory FF = new FrameworkElementFactory(typeof(CheckBox)); FF.SetBinding(CheckBox.BindingGroupProperty, new Binding("Index")); FF.SetBinding(CheckBox.IsCheckedProperty, new Binding("FileSelected") { UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged }); FF.SetValue(FrameworkElement.HorizontalAlignmentProperty, HorizontalAlignment.Center)

2021-06-24 11:03:46   c#   wpf   datagrid

将图像存储在应用程序内存中的最佳方法是什么?(What is the best way to store the image in the memory of app?)

问题 我在我的应用程序中使用 sqlite db,现在我想允许用户自定义背景图像,使他们能够从他们的图库中选择一个。 我应该只存储图像的路径并每次都简单地引用它还是应该如何将图像传输到某些文本并将其完全存储在我的数据库中? 第二个选项可防止图片从图库中删除。 但我想知道最合适的方法。 回答1 SQLite 的游标限制为 1Mb。 因此,您可能无法将其完全存储在数据库中,当您去请求时,它可能会被截断。 将图像的路径存储在数据库表中,并以这种方式访问​​它。 回答2 您不会将其存储为文本。 将其作为 blob 存储到您的数据库中。 在我看来,这是要走的路(如果您无论如何都使用 SQLite)。 如果您有大图像,则存储到存储的路径,而不是将图像存储到数据库。 回答3 我认为最好只保存背景的路径,您不会受到图像大小的限制 回答4 在我看来,保存自定义背景图片的最佳方式是将其复制到应用程序的内部存储(私有存储)中。 如果您仅存储文件的路径,则一旦用户删除该文件,该文件将无法使用。 关于内部存储的官方文档是: 它始终可用。 默认情况下,此处保存的文件只能由您的应用访问。 当用户卸载您的应用程序时,系统会从内部存储中删除您应用程序的所有文件。

2021-06-24 11:03:41   android   sqlite

如何从Android应用程序在谷歌浏览器隐身中打开网页(How to open a web page in Google chrome incognito from android app)

问题 我在这方面花了很多时间,但无法弄清楚这一点。 我需要以隐身模式启动 Chrome 浏览器。 我的代码: private void launchBrowser() { String url = "http://foyr.com"; Intent launchGoogleChrome = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); launchGoogleChrome.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); launchGoogleChrome.setPackage("com.android.chrome"); try { startActivity(launchGoogleChrome); } catch (ActivityNotFoundException e) { launchGoogleChrome.setPackage(null); startActivity(launchGoogleChrome); } } 我在这方面找到了几个帖子,但找不到解决方案。 这里 这个链接给了我一些关于隐身模式的想法,但我也试过这个。 private void launchBrowser() { String url = "http://foyr.com"; Intent

2021-06-24 11:03:28   java   android   google-chrome

使用 SQL 将多个字段连接为一个(Concatenate several fields into one with SQL)

问题 我有三个表tag , page , pagetag 用下面的数据 页 ID NAME 1 page 1 2 page 2 3 page 3 4 page 4 标签 ID NAME 1 tag 1 2 tag 2 3 tag 3 4 tag 4 页标签 ID PAGEID TAGID 1 2 1 2 2 3 3 3 4 4 1 1 5 1 2 6 1 3 我想在单个查询中使用 SQL 获取包含每个页面的对应标记名称的字符串。 这是我想要的输出。 ID NAME TAGS 1 page 1 tag 1, tag 2, tag 3 2 page 2 tag 1, tag 3 3 page 3 tag 4 4 page 4 这可以用 SQL 实现吗? 我正在使用 MySQL。 尽管如此,如果可能的话,我想要一个独立于数据库供应商的解决方案。 回答1 塞尔吉奥·德尔·阿莫: 但是,我没有得到没有标签的页面。 我想我需要用左外连接编写我的查询。 SELECT pagetag.id, page.name, group_concat(tag.name) FROM ( page LEFT JOIN pagetag ON page.id = pagetag.pageid ) LEFT JOIN tag ON pagetag.tagid = tag.id GROUP BY page.id

2021-06-24 11:03:23   sql   mysql

既然 JSPerf 已关闭,如何分析 Javascript?(How to profile Javascript now that JSPerf is down?)

问题 你们中的一些人可能已经注意到 jsperf 已经关闭了一段时间。 但我仍然需要分析我的 Javascript。 有没有可能在没有外部软件的帮助下理想地进行比较测试? 回答1 jsperf 基于 benchmarkjs,因此使用在线代码编辑器(如 jsfiddle、jsbin、plunker 等)并将 benchmarkjs 作为库包含在内即可。 您将不会拥有的唯一功能将是每个浏览器的编译结果。 这只是一个临时的选择。 这是一个 jsfiddle 模板:https://jsfiddle.net/533hc71h/ 但由于我们并不真正关心 html 或 css,我发现 plunker 更合适。 结合 systemjs,您可以将代码分成多个文件。 这是模板:https://plnkr.co/edit/pJg5LsiSNqlc6immmGsW 更新 您真的应该只将这些解决方案用作快速临时解决方案。 正如在获得最佳结果的评论中所说,你最好在本地运行它,现在你可以获得像 express 这样的网络服务器,或者在 sec 内运行。 * Tricks stackoverflow because links to inline editor must be accompanied with code 回答2 我决定构建这样的工具。 第一个公开测试版位于 https://jsbench.me

2021-06-24 11:03:17   javascript   performance

如何在 android 中解码 JWT 令牌?(How can I decode JWT token in android?)

问题 我有一个像这样的 jwt 令牌 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ 我怎样才能解码这个以便我可以得到这样的有效载荷 { "sub": "1234567890", "name": "John Doe", "admin": true } 我已经使用过这个库,但找不到做我想做的事情的方法 回答1 您应该拆分字符串:如果您通过 base 64 解码器传递前两个部分,您将获得以下内容(为了清晰起见,添加了格式): 标题 { "alg": "HS256", "typ": "JWT" } 身体 { "sub": "1234567890", "name": "John Doe", "admin": true } 代码示例: public class JWTUtils { public static void decoded(String JWTEncoded) throws Exception { try { String[] split = JWTEncoded.split("\\."); Log.d("JWT_DECODED"

2021-06-24 11:03:14   java   android   jwt

如何在laravel 5.2的锚标签中放置路由(How to put route in anchor tag in laravel 5.2)

问题 我已经阅读了下面的许多文章,这些文章解释了从命名路由生成链接,但无法解决我的问题。 教程一 教程2 教程3 以下是定义的路由: Route::get('/nitsadmin/dashboard', function () { return view('nitsadmin.dashboard'); }); 我在锚标签中调用链接: <a id="index" class="navbar-brand" href="{{Html::linkRoute('/nitsadmin/dashboard')}}"> <img src="../img/admin/nitseditorlogo.png" alt="Logo"> </a> 我收到以下错误: 回答1 您可以使用 url() 助手非常简单地完成此操作。 只需像这样替换你的锚标签: <a id="index" class="navbar-brand" href="{{url('/nitsadmin/dashboard')}}"> <img src="../img/admin/nitseditorlogo.png" alt="Logo"> </a> 关于您在其中使用的图像,如果这些图像要存储在您的公共文件夹中,那么您始终可以使用 asset() 助手。 这将帮助您将绝对链接转换为动态链接。 回答2 对于使用路由名称的编码人员,他们只需使用

2021-06-24 11:03:09   laravel-5.2   laravel-routing

如何用 Java 中的 lambda 替换匿名类?(How do I replace an anonymous class with a lambda in Java?)

问题 我有这段代码,但 IntelliJ 告诉我用 lambda 替换匿名,但我不知道如何。 谁能帮我这个? 这是我的代码: soundVolume.valueProperty().addListener(new ChangeListener<Number>() { public void changed(ObservableValue<? extends Number> ov, Number old_val, Number new_val) { main.setSoundVolume(new_val.doubleValue()); main.getMediaPlayer().setVolume(main.getSoundVolume()); } }); 回答1 一般来说,是这样的: methodUsingYourClass(new YourClass() { public void uniqueMethod(Type1 parameter1, Type2 parameter2) { // body of function } }); 被替换为 methodUsingYourClass((parameter1, parameter2) -> { // body of function }); 参数的类型可以从用法中推断出来,但在某些情况下,指定它们是有用的。 这部分来自上面的例子

2021-06-24 11:03:05   java   lambda   anonymous-class

Ionic 2 getComponent 替代方案(Ionic 2 getComponent alternative)

问题 由于 getComponent 不再可用,我有下一个场景。 在 app.ts 和 app.html 中,我有一个菜单组件和一个导航组件。 在导航组件中,我添加了一个包含选项卡的页面。 单击菜单时,它是应用程序组件的一部分,我希望能够更改选项卡。 最初很容易使用: this.app.getComponent('mytabs').select(3) 现在我明白我需要使用 viewchild 所以我尝试同时使用两者: @ViewChild('mytabs') tabs:Tabs; ion-tab 组件有一个 #mytabs 引用。 和 @ViewChild(Tabs) tabs:Tabs; 两次 this.tabs 变量都是未定义的。 我的猜测是在 app.ts 组件初始化时该组件不可用。 我在这里有哪些选择? 这是我的离子信息 Cordova CLI: 6.1.1 Gulp version: CLI version 3.9.1 Gulp local: Local version 3.9.1 Ionic Framework Version: 2.0.0-beta.7 Ionic CLI Version: 2.0.0-beta.29 Ionic App Lib Version: 2.0.0-beta.16 OS: Node Version: v4.4.0 回答1 @ViewChild

2021-06-24 11:03:00   typescript   angular   ionic2