小编Red*_*son的帖子

如何在Android中为Navigation Drawer添加一个部分分隔符?

我有一个像这个图像的导航抽屉.我想添加一个节分隔符(如分隔海王星​​的线).这看起来很简单,但我在网上找不到对我的情况有用的任何内容.

这是我的MainActivity:

public class MainActivity extends Activity {
    private DrawerLayout mDrawerLayout;
    private ListView mDrawerList;
    private ActionBarDrawerToggle mDrawerToggle;

    private CharSequence mDrawerTitle;
    private CharSequence mTitle;
    private String[] mPlanetTitles;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mTitle = mDrawerTitle = getTitle();
        mPlanetTitles = getResources().getStringArray(R.array.planets_array);
        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
        mDrawerList = (ListView) findViewById(R.id.left_drawer);

        // set a custom shadow that overlays the main content when the drawer opens
        mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
        // set up the drawer's list view with items and click listener
        mDrawerList.setAdapter(new ArrayAdapter<String>(this, …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-fragments android-activity navigation-drawer

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

在 bash 中如何检查文本文件是否以制表符作为分隔符?

所以我有一个文本文件,它可能有一个制表符作为其字段分隔符(分隔符),或者可能有一个空格作为字段分隔符。我想检查该文本文件是否已制成表格,否则我将对该文件执行其他操作。我正在使用 bash 脚本。所以我对任何纯 bash、sed、awk、grep 等都持开放态度(注意:它们都是 GNU)。所以我正在考虑这样的结构:

if [if delimiter is tab]; then
    #do soemthing
elif [if delimiter is space]; then
    #do something else
fi
Run Code Online (Sandbox Code Playgroud)

有什么建议么?如果需要进一步解释,请告诉我。谢谢!

以下是有关文本文件外观的更新说明:

如果文本文件有制表符作为分隔符,则它在每一行上进行分隔。如果文本文件以空格作为分隔符,则不会对每一行进行分隔。

以下是我可能遇到的文本文件的示例:

分隔符是制表符

col1   col2   col3
-------
1   2   3
4   5   6
Run Code Online (Sandbox Code Playgroud)

分隔符为空格: (空格在 12 和 3 && 4 和 56 之间)

col1col2col3
-----------
12 3
4 56
Run Code Online (Sandbox Code Playgroud)

bash shell awk grep sed

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

在 Android init.rc 中执行守护进程

我试图在我的 Nexus 5 启动时执行一个守护进程。这是一个从c++. 但是每当我构建 AOSP 并在我的 Nexus 5 设备上刷新图像时,守护程序都不会在后台运行。我将此代码添加到我的init.rc文件中:(这应该使它在启动时在后台运行)

setenforce 0
service my_daemon /system/bin/my_daemon 
    class main     # Also tried: class core (but it didn't make a difference)
    user root
    group root
setenforce 1
Run Code Online (Sandbox Code Playgroud)

我使用 setenfonce 的原因是因为 Android 5.0 及更高版本上的 SELinux。问题是在启动时,守护进程没有在启动时运行。我不知道为什么。有什么建议?

android daemon android-ndk nexus-5 android-5.0-lollipop

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

如何在init.rc文件中完全禁用Android L中的SELinux?

我想在启动时为Android L或5禁用SELinux.原因是因为SELinux问题,我的守护程序在启动时不会开始执行.我在init.rc文件中有以下内容:

su 0 setenforce 0
service my_daemon /system/bin/my_daemon 
    class main     # Also tried: class core (but it didn't make a difference)
    user root
    group root
Run Code Online (Sandbox Code Playgroud)

但是,在启动时,我使用adb shell来检查SELinux是否被禁用(使用getenforce)并返回Enforcing.我希望SELinux在启动时完全禁用.如果没有完全禁用那么至少Permissive.

有什么建议?

android selinux android-ndk android-4.4-kitkat android-5.0-lollipop

5
推荐指数
3
解决办法
2万
查看次数

有没有办法在awk语句中定义一个用户定义的函数,该语句位于bash脚本中?

我认为这个问题不言而喻.我是初学者,所以如果可能,请告诉我.如果没有,那么你给我一个更好的解决方案,因为我的bash脚本在很大程度上依赖于某些awk语句,但大部分脚本都是bash.我awk在bash脚本中使用语句比较两个文件.基本上检查值是否相同.(见下面的文件)

FILE1.TXT

Name  Col1  Col2  Col3 
-----------------------
row1  1     4     7         
row2  2     5     8          
row3  3     6     9
Run Code Online (Sandbox Code Playgroud)

FILE2.TXT

Name  Col1  Col2  Col3   
-----------------------         
row1  1     4     7 
row2  2     5     999
Run Code Online (Sandbox Code Playgroud)

这是我的bash脚本的结构:

#!/bin/bash
.
.
.

awk -F '\t' '
              # skips first two lines
              FNR < 2 {next}                       
              FNR == NR {           
                for (i = 2; i <= NF; i++) {
                  a[i,$1] = $i;      
                }    
                b[$1];           
                next;       
              }

              ($1 in b) {                          

                for …
Run Code Online (Sandbox Code Playgroud)

linux bash shell scripting awk

3
推荐指数
2
解决办法
1775
查看次数

如何在执行 Ruby 脚本的 Python 脚本中捕获 Ctrl+C?

我正在从 Python 脚本中执行 Ruby 脚本。这是我的 Python 脚本“script007.py”的样子:

.
.
.
os.system("ruby script.rb") #executing ctrl+c here 

print "should not be here"
.
.
.
Run Code Online (Sandbox Code Playgroud)

我在 Ruby 脚本运行时执行CTRL+C但它只是停止“script.rb”并继续执行“script007.py”的其余部分。我知道这是因为它在 Ruby 脚本停止时打印“不应该在这里”。

有没有办法可以在我的 Python 脚本中捕获CTRL+ C,即使它发生在 Ruby 脚本中?如果需要进一步解释,请告诉我。

ruby python scripting ctrl

3
推荐指数
1
解决办法
347
查看次数

如何在bash脚本中使用awk检查文件是否为空?

我试图awk在bash脚本中检查文件是否为空.文件为空的此条件如下:如果文件的第一行的字段值后跟------(并且后面没有其他内容),则认为该文件为空.

这是特殊文件的结构:

file.txt的

col1   col2   col3   col4   col5
------
Run Code Online (Sandbox Code Playgroud)

到目前为止,这就是我所拥有的:

awk '
    {
      if (NR > 2)
        print "NOT EMPTY"
      else
        print "EMPTY"
    }
' file.txt
Run Code Online (Sandbox Code Playgroud)

我想要的输出是:

EMPTY
Run Code Online (Sandbox Code Playgroud)

我得到的空虚是:

EMPTY
EMPTY
Run Code Online (Sandbox Code Playgroud)

我如何只获得EMPTY一个输出?我知道这可能很简单,但我找不到任何东西.谢谢!

如果需要进一步解释,请告诉我.

编辑:此外,如果额外的空白行添加到file.txt,那么它将打印EMPTY多少额外的行.有更一般的方法吗?

linux bash shell scripting awk

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

如何使用 Ruby 和 REXML 获取 XML 页面的子节点

我使用的是 Ruby 版本 1.9.3。这是我想要从中获取信息的实际 XML 页面的简单版本。我需要从需要登录凭据的安全网站访问它。我无法使用 Nokogiri,因为我无法使用它登录网站。

<root>
  <person>
    <name>Jack</name>
    <age>10</age>
  </person>
  <person>
    <name>Jones</name>
  </person>
  <person>
    <name>Jon</name>
    <age>16</age>
  </person>
</root>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,有时该标签age不会出现。将 REXML 与 Ruby 结合使用,我使用以下代码:

agent = Mechanize.new
xml = agent.get("https://securewebsite.com/page.xml")
document = REXML::Document.new(xml.body)

name = XPath.match(document, "//person/name").map {|x| x.text} 
# => ["Jack", "Jones", "Jon"]

age =  XPath.match(document, "//person/age").map {|x| x.text} 
# => ["10", "16"]
Run Code Online (Sandbox Code Playgroud)

问题是我无法将age与正确的关联起来name,因为索引现在乱序了。例如,在索引 1 处,name[1] 是 Jones,但age[1] 是 16。但这不是真的,因为personJones 的标签没有年龄标签。

有什么方法可以让数组age输出:# => ["10", nil ,"16"]以便我可以将正确的名字与其相应的年龄相关联? …

ruby xml xpath ruby-on-rails rexml

2
推荐指数
1
解决办法
1411
查看次数

如何在bash中将字符串的一部分与正则表达式匹配?

我使用正则表达式来匹配许多具有相似名称的文件名.请参阅以下文件.

file1="CGInoimport"
file2="doCGIimport"
file3="donoCGInoimport"
file4="importCGIno"
Run Code Online (Sandbox Code Playgroud)

我正在使用for循环来遍历每个文件变量以检查正则表达式是否匹配.我试图隔离包含该单词的文件名CGI.这是我到目前为止所拥有的.

for (( i=1; i < 5; i++ )) ; do
    if [[ file$i =~ ^CGI$ ]] ; then
        echo "There is a CGI in the name"
    else
        echo "This shouldn't happen"
    fi
done
Run Code Online (Sandbox Code Playgroud)

问题出在每个人身上file,我得到了This shouldn't happen.我知道正则表达式有问题,但我不知道如何解决它.有什么建议?

如果需要进一步说明,请与我们联系.

regex linux bash shell scripting

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

无法使用C++和SFML 2.1将图像文件作为纹理加载

我是初学者所以请光临我.我正在尝试使用SFML 2.1,C++和MS Visual Studio Professional 2013将图像输出到屏幕上.我在尝试将文件加载到纹理时遇到意外错误.它输出一大堆随机字符.我确定它是如何配置Visual Studio的SFML库或代码的问题.有人能解决这个问题吗?谢谢.

以下是我运行程序时的截图(http://i.stack.imgur.com/uMdLT.png):

这是我的代码:

#include <SFML/Graphics.hpp>
#include <iostream>
#include <string>
using namespace std;

int main() {

    sf::RenderWindow window;
    window.create(sf::VideoMode(800, 600), "My First SFML Game!"); // initializing

    sf::Texture jetTexture;
    sf::Sprite jetImage;

    // Getting Error here!
    if (!jetTexture.loadFromFile("fighter jet.png"))
        throw std::runtime_error("Could not load fighter jet.png");

    jetImage.setTexture(jetTexture);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }
        window.draw(jetImage);
        window.display();
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

对于所有配置属性,它们如下所示:

链接器 - >常规(http://i.stack.imgur.com/NZg7P.png):

链接器 - >输入( …

c++ textures visual-studio sfml

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

如何检查使用Ruby脚本传递的参数数量

我想知道如何使用ruby脚本传递参数的数量.到目前为止,我搜索过的所有内容都是函数.

我像这样执行我的脚本: ruby script.rb Arg1 Arg2 Arg3

现在我想获得参数的数量,在这种情况下它是3.我怎么能这样做?

我使用的是ruby1.9.3

编辑:我希望我的代码看起来像:

#!/usr/bin/env ruby

# check number of arguments passed

.
.
.
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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