小编Zac*_*ell的帖子

Android:在onCreate()中创建停止/启动服务

我目前有一个在活动的onCreate方法中启动的服务,使用:

Intent intentService = new Intent(this, MainService.class);
this.startService(intentService);
Run Code Online (Sandbox Code Playgroud)

我现在需要能够在按下按钮时停止此服务并在另一个按钮上再次重新启动它,但是我不确定如何停止此服务并在onCreate方法之外再次启动它.

我想我需要以与目前不同的方式启动服务?但我不确定最好的方法.

我曾在android中查看停止服务但是他们启动服务的方法似乎不能在onCreate中工作.

更完整的代码视图:

public class MainActivity extends Activity {

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

            lock = (Button) this.findViewById(R.id.lock);
            unlock = (Button) this.findViewById(R.id.unlock);

            lock.setOnClickListener(btn_lock);
            unlock.setOnClickListener(btn_unlock);

            unlock.setVisibility(View.VISIBLE);

            lock.setVisibility(View.GONE);

            Intent intentService = new Intent(this, MainService.class);
            this.startService(intentService);

        }
private OnClickListener btn_lock = new OnClickListener() {
        public void onClick(View v) {
                unlock.setVisibility(View.VISIBLE);
                lock.setVisibility(View.GONE);


        }
    };
private OnClickListener btn_unlock = new OnClickListener() {
        public void onClick(View v) {
                unlock.setVisibility(View.GONE);
                lock.setVisibility(View.VISIBLE);

        } …
Run Code Online (Sandbox Code Playgroud)

java android android-service

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

CentOS 6上的odbc_connect()

我目前在让odbc_connect在我的CentOS服务器上运行时遇到问题.我已经安装了Easysoft ODBC-SQL-Server驱动程序,目的是连接到Microsoft SQL Server 2012.

我收到错误:

PHP致命错误:调用未定义的函数odbc_connect()

使用时odbc_connect().

> ls /etc/php.d
> curl.ini      json.ini  pdo.ini       pdo_sqlite.ini  sqlite3.ini
> fileinfo.ini  odbc.ini  pdo_odbc.ini  phar.ini        zip.ini
> cat pdo_odbc.ini ; 
> Enable pdo_odbc
> extension module extension=pdo_odbc.so
Run Code Online (Sandbox Code Playgroud)

我已经安装了包php-odbc并重新启动了我的服务器,还有什么我需要做的以确保PHP可以访问odbc方法吗?

更新

php --ini
Run Code Online (Sandbox Code Playgroud)

指着

/usr/local/lib/php.ini

哪个没有提到ODBC.

运行命令"

php -i |grep ini
Run Code Online (Sandbox Code Playgroud)

得到:

Configuration File (php.ini) Path => /usr/local/lib
Loaded Configuration File => /usr/local/lib/php.ini
Scan this dir for additional .ini files => (none)
Additional .ini files parsed => (none)
user_ini.cache_ttl => 300 => 300 …
Run Code Online (Sandbox Code Playgroud)

php odbc

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

gcc:错误:无法识别的命令行选项'-fforce-mem'

我正在尝试为Pidora上的Raspberry Pi编译libmad,它使用armv6hl架构.

但是当在libmad源上运行make时,我发送错误:

gcc: error: unrecognized command line option '-fforce-mem'
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题的任何想法,或者解决那个很棒的问题!如果您需要更多信息,请告诉我.

c++ gcc compiler-errors raspberry-pi

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

获取getElementsByClassName中的文本

我正在编写一些javascript,以便在一个bookmarklet中运行,该bookmarklet应该在具有特定类名的元素中获取文本.

所以举个例子

document.getElementsByClassName('price')
Run Code Online (Sandbox Code Playgroud)

网页的位置或示例

<span class="price">

    £23

</span>
Run Code Online (Sandbox Code Playgroud)

我如何获得具有类名价格的元素中的实际文本(即上例中的£23).

javascript

9
推荐指数
1
解决办法
4万
查看次数

将格式为MM/DD/YYYY的日期转换为MySQL日期

我有一个PHP函数,它以MM/DD/YYYY 我需要的格式传递日期然后转换它,以便它可以添加到类型的MySQL字段date

我将如何在PHP中执行此操作?

php mysql

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

在下载文件时更新通知时如何防止UI滞后?

我目前正在使用AsyncTask我的应用程序中的后台下载大文件,目前下载进度显示为ProgressDialog更新onProgressUpdate,如下所示:

protected String doInBackground(String... sUrl) {
        try {
            String destName = sUrl[1];
            file_Delete(destName); // Just to make sure!

            URL url = new URL(sUrl[0]);
            URLConnection connection = url.openConnection();
            connection.connect();
            int fileLength = connection.getContentLength();

            InputStream input = new BufferedInputStream(url.openStream());
            OutputStream output = new FileOutputStream(destName);

            byte data[] = new byte[1024];
            long total = 0;
            int count;
            while ((count = input.read(data)) != -1) {
                total += count;
                publishProgress((int) (total * 100 / fileLength));
                output.write(data, 0, count);
            }

            output.flush(); …
Run Code Online (Sandbox Code Playgroud)

java android android-asynctask

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

C++ cout在for循环中覆盖自身

这个for循环中的cout语句:

for (vector<Student>::iterator qw = students.begin(); qw != students.end(); ++qw){
    Student a = *qw;
    name = a.getName();
    regno = a.getRegNo();
    std::cout << "Name: "<< name << " Reg Number: " << regno << endl;
}
Run Code Online (Sandbox Code Playgroud)

创造一些奇怪的行为,cout应该打印的是这样的:

姓名:Mike Sanderson Reg编号:10101

然而它实际打印出来的是:

注册号码:10101on

在我看来,在cout语句的第二部分后,它将回到行的开头并覆盖自身,但为什么呢?希望你们能帮助我,如果你需要更多信息,请告诉我!

c++ cout

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

将变量从Android传递到在WebView中启动的JavaScript

我有一个WebView,只需单击一个Android按钮,就可以将一些JavaScript加载到WebView中.

我的问题是如何在加载时将Android变量传递给JavaScript.

我的当前代码将JavaScript加载到WebView中

private OnClickListener OnClick_grabit = new OnClickListener() {
    public void onClick(View v) {
        webView.loadUrl("javascript: function loadScript(scriptURL) { 
             var scriptElem = document.createElement('SCRIPT'); 
             scriptElem.setAttribute('language', 'JavaScript'); 
             scriptElem.setAttribute('src', scriptURL); 
             document.body.appendChild(scriptElem);
             } loadScript('http://www.pathtojavascript/javascript.js');");
    }
};
Run Code Online (Sandbox Code Playgroud)

所以我需要将一些东西传递给initialize()Android 的JavaScript .

javascript android webview

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

强制webview显示桌面站点

我有以下webview客户端,当我们查看URL中不包含google一词的页面时,它将用户代理设置为桌面浏览器.(还有其他的东西,但一切正常).

 webView.setWebViewClient(new WebViewClient() {
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                     if (!url.contains("google")) {
                        String newUA= "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/20100101 Firefox/4.0";
                        webView.getSettings().setUserAgentString(newUA);
                         view.loadUrl(url);  
                     }else {
                            webView.getSettings().setUserAgentString(null);
                            view.loadUrl(url);  
                     }
                    return true;
                }
                public void onPageStarted(WebView view, String url, Bitmap favicon)
                {
                    super.onPageStarted(view, url, favicon);
                    progressBar.setVisibility(View.VISIBLE);
                }
                public void onPageFinished(WebView view, String url) {
                    // TODO Auto-generated method stub
                    super.onPageFinished(view, url);
                    String page = webView.getUrl();
                    if (!(page.contains("google"))){
                        grabit.setVisibility(View.VISIBLE);

                    }else{
                        grabit.setVisibility(View.GONE);

                    }
                    webView.loadUrl("javascript: function loadScript(scriptURL) { var scriptElem …
Run Code Online (Sandbox Code Playgroud)

android webview

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

膨胀类android.support.v7.widget.Toolbar时出错

我已将我的应用程序从使用操作栏移动到工具栏,但是最终出现错误(底部为完全错误)。我的代码:

我的活动:

public class MapsActivity extends ActionBarActivity implements LocationListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
        ...
        mDrawerLayout.setDrawerListener(mDrawerToggle);

        toolbar = (Toolbar) findViewById(R.id.toolbar);

    if (toolbar != null)
    {
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setHomeButtonEnabled(true);
        getSupportActionBar().setElevation(0); // or other
    }

        ...
    }
...
}
Run Code Online (Sandbox Code Playgroud)

v21 / style.xml

    <?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- your app's theme inherits from the Material theme -->
    <style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar">
        <item name="windowActionBar">false</item>
        <item name="android:windowNoTitle">true</item>
        <!-- Main theme colors -->
        <!--   your app branding color for the app bar --> …
Run Code Online (Sandbox Code Playgroud)

xml android android-toolbar

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