728x90

2011년 만든 염주 앱

업그레이드를 하려고 했더니... 키스토어 파일이 없네

그래서 새로 염주앱을 만들었는데 별로 이용하지 않네 ㅎ

확 내릴까 하고 생각하고 기념으로 캡쳐를 하다보니


처음 염주 만들 때의 생각

'염주는 세는기능만 있으면 되는거 아냐?'라고

누군가는 많은 기능 필요없이 그저 세는 기능만 필요할 수도 있겠다 싶어서 놔두기로 함.


여러가지 기능을 추가한 새로운 앱은

https://play.google.com/store/apps/details?id=com.nobang.rosary2free

요기에서 받아 사용하시길








728x90
728x90

자꾸 android content loader 0 와 함께 응답이 없어 구글로 많은 내용을 찾아본 결과 가장 확실한 것 같다. ㅎ



방법1: 커맨드 창에서 eclipse 폴더로 간 다음 "eclipse -clean"을 실행시킨다.

(start eclipse from command line"
run eclipse -clean
)


방법2: workspace 폴더로 간 다음 아래 경로로 가서 모든 프로젝트 정보를 지운다

\workspace\.metadata\.plugins\org.eclipse.core.resources\.projects
(

Go to your workspace directory \workspace\.metadata\.plugins\org.eclipse.core.resources\.projects and delete all the projects in there.
)


방법3: 
1. eclipse가 확실이 종료되었는지 확인한다. 작업관리자에 eclipse 항목이 있으면 kill 시킨다.

2. 사용자 폴더로 간다. (window의 경우 로그인한 사용자 경로를 찾는다)

3. .android 폴더로 간다.(숨겨진 폴더일 수 있다.)

4. cache 폴더안의 내용을 모두 지운다.

5. ddms.cfg 파일을 지운다.

6. eclipse를 

  1. Make sure that eclipse is not active. If it is active kill eclipse from the processes tab of the task manager
  2. Open %USERPROFILE%/ (You can locate this folder from desktop)
  3. Go to .android folder (This may be a hidden folder)
  4. Delete the folder "cache" which is located inside .android folder
  5. Delete the file ddms.cfg which is located inside .android folder
  6. Start eclipse
(나의 경우에는 3까지 하니까 성공했다)

방법4:
1. 아래 폴더를 삭제한다.
/workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
(
Delete:
/workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi

)


원본 : http://kaparkx.blogspot.kr/2014/04/eclipse-hangs-at-android-sdk-content.html

728x90
728x90

sqlite에 Excel 파일 등을 import 할 때 문제는 csv에서 한글이 깨진다는 것이다.

운좋게 csv까지 한글이 깨지지 않더라도 sqlite에 다시 넣을 때에는 깨질 수 있다.

그런데... 가장 편한 방법은 파이어 폭스를 이용하는 것이다.

1. 파이어 폭스를 다운받는다.

2. 파이어 폭스를 실행한 뒤 추가기능에서 sqlite를 검색한다

"Sqlite Manager"를 설치한 뒤 실행한다.

CSV파일을 임포트하면 한글까지 완전히 sqlite로 떨어진다 호호홋.

728x90
728x90


PhoneGap에서 SQLITE를 사용하기 위한 설정이다. 구조는 이미지와 같으며

다음 순서로 기본 세팅을 한다.

1. AndroidManifest.xml
   : 권한 추가. 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

--전체

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.nobang.phonegapsql"

    android:versionCode="1"

    android:versionName="1.0" >


    <uses-sdk

        android:minSdkVersion="16"

        android:targetSdkVersion="19" />


    <application

        android:allowBackup="true"

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

        <activity

            android:name="com.nobang.phonegapsql.MainActivity"

            android:label="@string/app_name" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />


                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

    </application>

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />   

</manifest>

2. /res/xml/config.xml
 : 폰갭 라이브러리 세팅을 하면 config.xml을 해당 위치에 복사하게 되는데 sqlite를 사용하려면 이것에 플러그인 설정을 추가해야한다. <plugins></plugins> 사이에 네가지를 추가한다.

<?xml version="1.0" encoding="UTF-8"?>

<widget xmlns     = "http://www.w3.org/ns/widgets"

        id        = "io.cordova.helloCordova"

        version   = "2.0.0">

<plugins>

        <plugin name="SQLitePlugin" value="org.pgsqlite.SQLitePlugin"/>

      <plugin name="App" value="org.apache.cordova.App"/>

      <plugin name="Geolocation" value="org.apache.cordova.GeoBroker"/>

      <plugin name="Device" value="org.apache.cordova.Device"/>

    </plugins>

</widget>

3. /src/org.pgsqlite/SQLitePlugin.java
   해당 파일을 그래도 사용한다. 내 프로젝트에서 사용하기때문에 패키지명을 바꿨더니 javascript에서 에러남.

4. /assets/www/js 아래에 cordova.js 와 SQLitePlugin.js 를 넣는다

5. index.html을 작성한다

  cordova.js와 SQLitePlugin.js를 import하고 
  문서가 onLoad될 때, db 및 table 생성, 조회를 한문장으로 처리

(필요시 각각 기능을 나누면 됨 )


<!DOCTYPE html>

<html>

  <head>

  <title>Lawnchair Spec</title>

  

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />

<meta charset="utf-8">


<script type="text/javascript" charset="utf-8" src="js/cordova.js"></script>

    <script type="text/javascript" charset="utf-8" src="js/SQLitePlugin.js"></script>

    

    <script type="text/javascript">

document.addEventListener("deviceready", onDeviceReady, false);


var db;

    function onDeviceReady() {

    // open database

db = window.sqlitePlugin.openDatabase({name: "MyDB"});

// create table;

db.transaction(function(tx) {

tx.executeSql('CREATE TABLE IF NOT EXISTS test_table (id integer primary key, data text, data_num integer)');

});

// insert data

db.transaction(function(tx) {

     tx.executeSql("INSERT INTO test_table (data, data_num) VALUES (?,?)", ["test", 100], function(tx, res) {

         console.log("insertId: " + res.insertId + " -- probably 1");

         console.log("rowsAffected: " + res.rowsAffected + " -- should be 1");

       });

});

// select data

db.transaction(function(tx) {

            tx.executeSql("select count(id) as cnt from test_table;", [], function(tx, res) {

              console.log("res.rows.length: " + res.rows.length + " -- should be 1");

              console.log("res.rows.item(0).cnt: " + res.rows.item(0).cnt + " -- should be 1");

            });

});

}

    

    </script>

  </head>

  <body>

  </body>

</html>



728x90
728x90

http://blog.daum.net/janustop/169

위 블로그에 내용을 하나씩 따라 해 본다.

JSP 페이지에 캐릭터 셋

스프링에 인코딩 캐릭터 셋

Maven 설정 등

그래도 나의 경우에는 안됐다. ㅜㅜ

(대부분의 경우에는 될꺼다 )

아마 Mysql의 인코딩 설정때문일 수도 있다.

결국 

http://jmnote.com/wiki/MySQL_%EC%BA%90%EB%A6%AD%ED%84%B0%EC%85%8B_utf8_%EC%84%A4%EC%A0%95

이곳의 설정대로 mysql의 인코딩 세팅을 했더니 된다 ㅎㅎ


sudo vi /etc/my.cnf 를 수정한 다음

show variables like 'char%'

해보니 모두 utf-8로 바뀌어있다 ㅋㅋㅋ

참고로 blob 형태의 칼럼을 가져올 때

, CAST(( CONTENTS) AS CHAR(10000) CHARACTER SET UTF8) AS CONTENTS

로 해서 가져왔다.

728x90

파이도착

2013. 11. 8. 18:48
728x90
파이가 배달됐다 
지난주 토요일 주문했는데...
주소를 한글로 써놨더니 모르겠다며 메일을 보내왔다 ㅡㅡ 
다시 영어로 보내서 오늘 도착


그나마 재성이형이 책 한 권 줬으니 그걸로 공부

근데... 메모리를 안끼워놔서...쩝


itistory-photo-1



itistory-photo-2




iPhone 에서 작성된 글입니다.




728x90
728x90

여러 요인이 있겠지만...


? 를 써야하는데 :변수를 써서 나는 경우도 있다.

하지만 테이블명@계정으로 별칭을 준 경우에

Merge INTO 절은 위 에러

(

java.sql.SQLException: ORA-01008: 일부 변수가 바인드되지 않았습니다.

)를 뱉어낸다.


728x90
728x90


지도 API를 사용호출시 브라우저에서 호출하면 정상인데

JAVA 소스에서 호출하면 다음과 같은 에러가 떴다.

(parameter : 서울특별시 강남구 강남대로)

[Fatal Error] :3:22: An invalid XML character (Unicode: 0x1c) was found in the CDATA section.


문제는 브라우저에서 호출할 때, UrlEncoding을 해서 보내는데

그것을 JAVA에서 Decoding을 하고 그대로 사용하니

결국 Encoding안된 parameter가 넘어가서 에러가 나는듯 하네


try{

String address = URLEncoder.encode(addr, "UTF-8");

String apiKey = "Naver 지도API";

String encoding = "utf-8";

String coord = "latlng";//latlng, tm128(navigation 용 : default)

String target = "http://openapi.map.naver.com/api/geocode.php";

String params = "?key=" + apiKey + "&encoding=" + encoding + "&coord=" + coord + "&query=" + address;

URL url = new URL(target+params);

URLConnection connection = url.openConnection();

try{

InputStream in = connection.getInputStream();

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

Document doc = builder.parse(in);

NodeList itemNodes = doc.getElementsByTagName("item");

for(int i = 0; i < itemNodes.getLength(); i++){

Node item = itemNodes.item(i);


NodeList childNodes = item.getChildNodes();

//public static final short ELEMENT_NODE = 1;

//public static final short ATTRIBUTE_NODE = 2;

//public static final short TEXT_NODE = 3;

 

for( int j = 0 ; j < childNodes.getLength(); j++){

Element ele = null;

Node childNode = childNodes.item(j);

if (childNode.getNodeType() != Node.ELEMENT_NODE){

continue;

}

String eleTag = childNode.getNodeName();

if( "point".equals(eleTag)){

NodeList pointList = childNode.getChildNodes();

for(int m = 0; m < pointList.getLength(); m++){

Node aPoint = pointList.item(m);

String pointName = aPoint.getNodeName();

if("x".equals(pointName)){

//logger.debug(aPoint.getNodeName() + " : " + aPoint.getTextContent());

}else if("y".equals(pointName)){

//logger.debug(aPoint.getNodeName() + " : " + aPoint.getTextContent());

}

}

break;

}

if( "address".equals(eleTag)){

continue;

}

if( "addrdetail".equals(eleTag)){

continue;

}

}//end of for j

}//end of for i

}catch(Exception e){

e.printStackTrace();

}

}catch(Exception e){

e.printStackTrace();

    }


728x90
728x90

ps -ef | grep java.*tomcat

한 뒤에 나타난 process 를 kill

kill xxxxx



728x90
728x90

Springframework에서 MS-SQL에 BLOB로 저장되어 있는 이미지를 불러와 파일로 저장

String sql = "select picture from users where id=?";
Object[] args = { userId };
Blob rsPhoto = (Blob)getJdbcTemplate().queryForObject(sql, args, Blob.class);


try {
            for(int i = 0; i < rsPhoto.length(); i++)
                {
                    String upDir = "c:\\imgs\\";
                    Random Number = new Random();
                    int Dice_number;
                    String strPath;
                   
                    Dice_number = Number.nextInt(999999);
                    strPath = upDir + Dice_number+".jpg";
                   
                    try {
                        logger.debug(rsPhoto == null ? "null " : "not null");
                        FileOutputStream newFile = new FileOutputStream(strPath);
                        newFile.write(rsPhoto.getBytes(1, (int)rsPhoto.length()));                       
                    } catch (IOException e) {
                        e.printStackTrace();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
        } catch (SQLException e) {
            e.printStackTrace();
        }

728x90
BLOG main image
"그게 뭐 어쨌다는 거냐?" 늘 누가 나에게 나에대한 말을할 때면 이말을 기억해라. by nobang

카테고리

nobang이야기 (1951)
Life With Gopro (7)
Life With Mini (79)
Diary (971)
너 그거 아니(do you know) (179)
난 그래 (159)
Study (290)
속지말자 (10)
Project (34)
Poem (15)
Song (0)
Photo (113)
낙서장 (45)
일정 (0)
C.A.P.i (2)
PodCast (0)
nobang (27)
고한친구들 (4)
recieve (0)
History (0)
android_app (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :